我需要将一个文件夹从本地文件系统复制到hdfs。我找不到任何将文件夹(包括其所有子文件夹)移动到hdfs的示例 $ hadoop fs -copyFromLocal /home/ubuntu/Source-Folder-To-Copy HDFS-URI
$ hadoop fs -copyFromLocal /home/ubuntu/Source-Folder-To-Copy HDFS-URI
1bqhqjot1#
要将文件夹文件从本地复制到hdfs,可以使用以下命令
hadoop fs -put /path/localpath /path/hdfspath
或
hadoop fs -copyFromLocal /path/localpath /path/hdfspath
unguejic2#
从命令行-hadoop fs-copyfromlocalhadoop fs-复制本地或者您也可以使用spark文件系统库来获取或放置hdfs文件。希望这有帮助。
pnwntuvh3#
如果您从本地复制一个文件夹,那么它会将文件夹及其所有子文件夹复制到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
8gsdolmq4#
你可以试试:
hadoop fs -put /path/in/linux /hdfs/path
甚至
hadoop fs -copyFromLocal /path/in/linux /hdfs/path
默认情况下,两者 put 以及 copyFromLocal 将目录递归地上传到hdfs。
put
copyFromLocal
7gcisfzg5#
您可以使用:1.将数据从本地文件加载到hdfs语法:$hadoop fs–copyfromlocal例如:$hadoop fs–copyfromlocalfile1 hdir2将数据从hdfs复制到本地sys:$hadoop fs–copytolocal<新文件名>例如:$hadoop fs–copytolocal hdfs/filename myunx;
xcitsw886#
导航到“/install/hadoop/datanode/bin”文件夹或路径,您可以在其中执行hadoop命令:以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系统的源文件路径。/用户/负载表示“中的hdfs群集目标路径”hdfs://hacluster/user/load"将文件从hdfs获取到本地系统:格式:hadoop fs-get“/hdfssourcefilepath”“/localpath”例如hadoop fs-get/user/load/a.csv/opt/csv/执行上述命令后,hdfs中的.csv将下载到本地linux系统中的/opt/csv文件夹中。上传的文件也可以通过hdfsnamenodewebui查看。
vfwfrxfs7#
在将文件放入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
使用HDF复制文件 -put 或者 -copyFromLocal 命令
-put
-copyFromLocal
[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
7条答案
按热度按时间1bqhqjot1#
要将文件夹文件从本地复制到hdfs,可以使用以下命令
或
unguejic2#
从命令行-
hadoop fs-copyfromlocal
hadoop fs-复制本地
或者您也可以使用spark文件系统库来获取或放置hdfs文件。
希望这有帮助。
pnwntuvh3#
如果您从本地复制一个文件夹,那么它会将文件夹及其所有子文件夹复制到hdfs。
要将文件夹从本地复制到hdfs,可以使用
或
或
或
注:
如果未指定hdfs路径,则文件夹副本将被复制到与该文件夹同名的hdfs。
从hdfs复制到本地
8gsdolmq4#
你可以试试:
甚至
默认情况下,两者
put
以及copyFromLocal
将目录递归地上传到hdfs。7gcisfzg5#
您可以使用:
1.将数据从本地文件加载到hdfs
语法:$hadoop fs–copyfromlocal
例如:$hadoop fs–copyfromlocalfile1 hdir
2将数据从hdfs复制到本地
sys:$hadoop fs–copytolocal<新文件名>
例如:$hadoop fs–copytolocal hdfs/filename myunx;
xcitsw886#
导航到“/install/hadoop/datanode/bin”文件夹或路径,您可以在其中执行hadoop命令:
以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系统的源文件路径。
/用户/负载表示“中的hdfs群集目标路径”hdfs://hacluster/user/load"
将文件从hdfs获取到本地系统:格式:hadoop fs-get“/hdfssourcefilepath”“/localpath”
例如hadoop fs-get/user/load/a.csv/opt/csv/
执行上述命令后,hdfs中的.csv将下载到本地linux系统中的/opt/csv文件夹中。
上传的文件也可以通过hdfsnamenodewebui查看。
vfwfrxfs7#
简言之
hdfs dfs-put
详细举例:
在将文件放入hdfs之前检查源和目标
使用HDF复制文件
-put
或者-copyFromLocal
命令在hdfs中验证结果