hadoop -getmerge有替代品吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了hadoop -getmerge有替代品吗?相关的知识,希望对你有一定的参考价值。
我试图使用hadoop get merge在集群中合并80 GB文件,
但由于hadoop get merge具有将文件从hdfs复制到本地文件系统的属性,我必须复制到本地,然后再将copyFromLocal复制到hdfs,
hadoop fs -getmerge hdfs:/// path_in_hdfs / * ./local_path
hadoop fs -copyFromLocal ./local_path hdfs:// Destination_hdfs_Path /
我的问题是本地的datanode小于80 GB,
我需要知道是否存在-getmerge的替代方案,其中合并直接从HDFS发送到HDFS
我也试过hadoop -cat,但它不起作用..
答案
使用-cat
选项的HDFS命令应该可以工作。将-cat
命令的结果传递给-put
命令。
hadoop fs -cat hdfs://input_hdfs_path/* | hadoop fs -put - hdfs://output_hdfs_path/output_file.txt
另一答案
实际上没有一个真正的选择。您可以通过MapReduce或Spark作业(将输出的并行度设置为1)获得相同的结果,但是没有使用纯hdfs命令的解决方案。
另一答案
流媒体可能有所帮助。但是,合并的文件将按排序顺序排列(第一个选项卡之前的文本将是键)。如果不希望排序,则不能选择流式传输。
File 1
Tom 25
Pete 30
Kevin 26
File 2
Neil 28
Chris 31
Joe 27
Merged File
Chris 31
Joe 27
Kevin 26
Neil 28
Pete 30
Tom 25
以上是关于hadoop -getmerge有替代品吗?的主要内容,如果未能解决你的问题,请参考以下文章