如何将文件从HDFS复制到本地文件系统

Sur*_*rya 124 hadoop copy hdfs

如何将文件从HDFS复制到本地文件系统.文件下没有文件的物理位置,甚至没有目录.我如何将它们移动到我的本地进行进一步的验证.我通过winscp尝试过.

Tar*_*riq 226

  1. bin/hadoop fs -get /hdfs/source/path /localfs/destination/path
  2. bin/hadoop fs -copyToLocal /hdfs/source/path /localfs/destination/path
  3. 将Web浏览器指向HDFS WEBUI(namenode_machine:50070),浏览到要复制的文件,向下滚动页面并单击下载文件.

  • 再一次,我需要提及tariq,非常感谢您为时间和知识贡献自己.非常感谢 .你确实支持了很多,这给像我这样的新bie带来了很大的信心. (2认同)
  • 只是添加到我的lat注释,如果它是二进制文件,cat将不会显示实际内容.要查看二进制文件的内容,您可以使用:bin/hadoop fs -text/path/to/file (2认同)

Ani*_*non 26

在Hadoop 2.0中,

hdfs dfs -copyToLocal <hdfs_input_file_path> <output_path>
Run Code Online (Sandbox Code Playgroud)

哪里,

  • hdfs_input_file_path 也许是从 http://<<name_node_ip>>:50070/explorer.html

  • output_path 是文件的本地路径,文件将被复制到该路径.

  • 你也可以用来get代替copyToLocal.


Sha*_*fiq 14

为了将文件从HDFS复制到本地文件系统,可以运行以下命令:

hadoop dfs -copyToLocal <input> <output>

  • <input>:要复制的HDFS目录路径(例如/ mydata)
  • <output>:目标目录路径(例如〜/ Documents)

  • 这似乎对我不起作用。它总是说找不到&lt;输入&gt;文件。我正在使用cloudera的VM实例,它有cent os 6.4 (2认同)

Ram*_*eja 6

你可以用这两种方式完成.

1.hadoop fs -get <HDFS file path> <Local system directory path>
2.hadoop fs -copyToLocal <HDFS file path> <Local system directory path>
Run Code Online (Sandbox Code Playgroud)

例如:

我的文件位于/sourcedata/mydata.txt 我想将文件复制到此路径/ user/ravi/mydata中的本地文件系统

hadoop fs -get /sourcedata/mydata.txt /user/ravi/mydata/
Run Code Online (Sandbox Code Playgroud)


Epo*_*ous 5

如果您的源“文件”被拆分为位于同一目录树中的多个文件(可能是 map-reduce 的结果),您可以使用以下命令将其复制到本地文件:

hadoop fs -getmerge /hdfs/source/dir_root/ local/destination
Run Code Online (Sandbox Code Playgroud)