web-dev-qa-db-ja.com

hadoopはローカルファイルシステムフォルダーをHDFSにコピーします

ローカルファイルシステムからHDFSにフォルダーをコピーする必要があります。フォルダ(すべてのサブフォルダを含む)をHDFSに移動する例が見つかりませんでした

$ hadoop fs -copyFromLocal /home/ubuntu/Source-Folder-To-Copy HDFS-URI

52
Tariq

あなたが試すことができます:

hadoop fs -put /path/in/linux /hdfs/path

あるいは

hadoop fs -copyFromLocal /path/in/linux /hdfs/path

デフォルトでは、putcopyFromLocalの両方が再帰的にディレクトリをHDFSにアップロードします。

78
Ashrith

ローカルからフォルダーをコピーすると、すべてのサブフォルダーを含むフォルダーがHDFSにコピーされます。

ローカルからhdfsにフォルダーをコピーするには、次を使用できます。

hadoop fs -put localpath

または

hadoop fs -copyFromLocal localpath

または

hadoop fs -put localpath hdfspath

または

hadoop fs -copyFromLocal localpath hdfspath

注:

Hdfsパスが指定されていない場合、フォルダーのコピーは、そのフォルダーと同じ名前のhdfsにコピーされます。

Hdfsからローカルにコピーするには

 hadoop fs -get hdfspath localpath
27
Kumar

要するに

hdfs dfs -put <localsrc> <dest>

例の詳細:

ファイルをHDFSに配置する前にソースとターゲットを確認する

[cloudera@quickstart ~]$ ll files/
total 132
-rwxrwxr-x 1 cloudera cloudera  5387 Nov 14 06:33 cloudera-manager
-rwxrwxr-x 1 cloudera cloudera  9964 Nov 14 06:33 cm_api.py
-rw-rw-r-- 1 cloudera cloudera   664 Nov 14 06:33 derby.log
-rw-rw-r-- 1 cloudera cloudera 53655 Nov 14 06:33 enterprise-deployment.json
-rw-rw-r-- 1 cloudera cloudera 50515 Nov 14 06:33 express-deployment.json

[cloudera@quickstart ~]$ hdfs dfs -ls
Found 1 items
drwxr-xr-x   - cloudera cloudera          0 2017-11-14 00:45 .sparkStaging

-putまたは-copyFromLocalコマンドを使用してファイルHDFSをコピーします

[cloudera@quickstart ~]$ hdfs dfs -put files/ files

HDFSで結果を確認する

[cloudera@quickstart ~]$ hdfs dfs -ls
Found 2 items
drwxr-xr-x   - cloudera cloudera          0 2017-11-14 00:45 .sparkStaging
drwxr-xr-x   - cloudera cloudera          0 2017-11-14 06:34 files

[cloudera@quickstart ~]$ hdfs dfs -ls files
Found 5 items
-rw-r--r--   1 cloudera cloudera       5387 2017-11-14 06:34 files/cloudera-manager
-rw-r--r--   1 cloudera cloudera       9964 2017-11-14 06:34 files/cm_api.py
-rw-r--r--   1 cloudera cloudera        664 2017-11-14 06:34 files/derby.log
-rw-r--r--   1 cloudera cloudera      53655 2017-11-14 06:34 files/enterprise-deployment.json
-rw-r--r--   1 cloudera cloudera      50515 2017-11-14 06:34 files/express-deployment.json
17
mrsrinivas

以下を使用できます。

1。ローカルファイルからHDFSへのデータのロード

構文:$ hadoop fs –copyFromLocal

例:$ hadoop fs –copyFromLocal localfile1 HDIR

2。HDFSからローカルへのデータのコピー

Sys:$ hadoop fs –copyToLocal <新しいファイル名>

例:$ hadoop fs –copyToLocal hdfs/filename myunx;

3

フォルダーファイルをローカルからhdfsにコピーするには、次のコマンドを実行できます

hadoop fs -put /path/localpath  /path/hdfspath

または

hadoop fs -copyFromLocal /path/localpath  /path/hdfspath
2

Hadoopコマンドを実行できる「/ install/hadoop/datanode/bin」フォルダーまたはパスに移動します。

HDFSにファイルを配置するには:形式:hadoop fs -put "Local system path" /filename.csv "HDFS destination path"

例)./ hadoop fs -put /opt/csv/load.csv/user/load

ここで、/ opt/csv/load.csvは、ローカルLinuxシステムのソースファイルパスです。

/ user/loadは、「hdfs:// hacluster/user/load」のHDFSクラスター宛先パスを意味します

HDFSからローカルシステムにファイルを取得するには: Format:hadoop fs -get "/ HDFSsourcefilepath" "/ localpath"

例)hadoop fs -get /user/load/a.csv/opt/csv /

上記のコマンドを実行すると、HDFSのa.csvがローカルLinuxシステムの/ opt/csvフォルダーにダウンロードされます。

このアップロードされたファイルは、HDFS NameNode Web UIでも確認できます。

1
Prasanna

コマンドラインから-

Hadoop fs -copyFromLocal

Hadoop fs -copyToLocal

または、spark FileSystemライブラリを使用してhdfsファイルを取得または配置します。

これが役に立てば幸いです。

0
user11714872