2016-08-28 20 views

答えて

0

hdfs dfs -put /path/to/localdir/ hdfs://path/to/hdfsdir

  • hdfs dfs -copyFromLocal /path/to/localdir/ hdfs://path/to/hdfsdir
  • hdfs dfs -moveFromLocal /path/to/localdir/ hdfs://path/to/hdfsdir
  • hadoop distcp file:///path/to/localdir/ hdfs://namenode:port/path/to/hdfsdir
  • オプション1 & 2が同じである

    1. 、のような、(伝統的な方法を使用して)これを行うには多くの方法がありますあなたの場合。コピー時間に違いはありません。

      オプション3は、データをHDFSファイルシステム(-putと同じ)にコピーしてからローカルファイルシステムからファイルを削除するので、もう少し時間がかかることがあります。

      オプション4はトリッキーなものです。クラスター内/クラスター内の大規模なコピー用に設計されています。しかし、ローカルファイルURLに "file://"接頭辞を付けることによっても、同じコマンドをローカルファイルに使用できます。これは、ツールがMapReduceを使用して並行して動作するように設計されており、ファイルがローカルにあるので、その強度を利用することができないので、最適な解決策ではありません。 (クラスタノードにマウントを作成すると、distcpのパフォーマンスが向上する可能性があります)

    関連する問題