Hadoop 如何将文件从HDFS复制到本地文件系统
如何将文件从HDFS复制到本地文件系统。文件下没有文件的物理位置,甚至没有目录。如何将它们移动到本地进行进一步验证。我通过winscp进行了尝试Hadoop 如何将文件从HDFS复制到本地文件系统,hadoop,copy,hdfs,Hadoop,Copy,Hdfs,如何将文件从HDFS复制到本地文件系统。文件下没有文件的物理位置,甚至没有目录。如何将它们移动到本地进行进一步验证。我通过winscp进行了尝试 bin/hadoop fs-get/hdfs/source/path/localfs/destination/path bin/hadoop fs-copyToLocal/hdfs/source/path/localfs/destination/path 将web浏览器指向HDFS WEBUI(namenode\u machine:50070),浏览到
bin/hadoop fs-get/hdfs/source/path/localfs/destination/path
bin/hadoop fs-copyToLocal/hdfs/source/path/localfs/destination/path
namenode\u machine:50070
),浏览到要复制的文件,向下滚动页面,然后单击下载文件为了将文件从HDFS复制到本地文件系统,可以运行以下命令:
hadoop dfs-copyToLocal
:要复制的HDFS目录路径(例如/mydata)
:目标目录路径(例如~/Documents)
在Hadoop 2.0中
hdfs dfs -copyToLocal <hdfs_input_file_path> <output_path>
hdfs-dfs-copyToLocal
在哪里,
可从hdfs\u input\u file\u path
http://:50070/explorer.html
是文件的本地路径,文件将复制到该路径output\u path
- 您也可以使用
代替get
copyToLocal
- 您可以通过这两种方式完成
1.hadoop fs -get <HDFS file path> <Local system directory path>
2.hadoop fs -copyToLocal <HDFS file path> <Local system directory path>
这在我的Ubuntu虚拟机实例上非常有效 hdfs dfs-copyToLocal[hadoop目录][local目录]如果源“文件”在位于同一目录树中的多个文件(可能是map reduce的结果)中被拆分,则可以使用以下方法将其复制到本地文件:
hadoop fs -getmerge /hdfs/source/dir_root/ local/destination
如果使用docker,则必须执行以下步骤:
1.-记住您为文件指定的名称,而不是使用hdfs dfs-put。使用“get”代替。见下文
$hdfs dfs-get/output fileFolderName In hdfsperfect tariq,我知道了,文件下没有文件的物理位置,甚至没有目录。bin/hadoop dfs-ls/use/hadoop/myfolder我可以查看文件,从我获得的信息可以检查文件,您可以将其从HDFS复制到本地文件系统,因此我想我可以再次从winscponce中移动它们,我需要提一下tariq,非常感谢您为我提供的时间和知识。谢谢。你确实支持了很多,这给了像我这样的新bie很大的信心。我明白了。如果希望查看文件内容或在webui上打开文件,实际上可以使用hdfs cat命令。这将避免您将文件下载到本地fs。不客气。如果你对你的问题的答案100%满意,你可以给他们打分,这样其他人就可以从中受益。。不只是这一个,但一般来说。只是添加到我的lat注释,如果它是一个二进制文件,cat不会显示实际内容。要查看二进制文件的内容,可以使用:bin/hadoop fs-text/path/To/file这似乎是一个bug(已修复)。看到答案了吧。这似乎对我不起作用。它总是说找不到文件。我正在使用cloudera的VM实例,它有CentOS6。4@SutharMonil你确定文件确实在那里吗?你能通过hadoop fs-ls浏览吗?hdfs-put是一个将文件从本地fs推送到本地fs到hdfs的命令。hdfs dfs-get是正确的选项,应接受此选项。这是大多数人正在寻找的,而不是一个分裂的文件。老实说,这将是最好的答案。通常,所有HDFS文件/表在这些目录中像0000_0、0001_0一样分开
-getmerge
将合并所有这些文件并放入本地目录中的1个文件中。以@Eponymous为荣
hadoop fs -get /sourcedata/mydata.txt /user/ravi/mydata/
hadoop fs -getmerge /hdfs/source/dir_root/ local/destination