如何在googlecloud上的hadoop集群中获得单个文件而不是多个文件的mapreduce输出?

evrscar2  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(331)

当我在本地hadoop多节点集群上运行jar时,我可以看到reducer的输出,并且每个作业都是一个文件。
但是当我在googlecloud上运行同一个jar时,我会得到多个输出文件(part-r-0000*)。相反,我需要的是将所有输出写入一个文件。我该怎么做?

dl5txlt9

dl5txlt91#

一个简单的解决方案是将作业配置为只使用一个减速机运行。在googlecloud上,默认设置似乎有所不同。请参阅此处了解如何做到这一点:在oozie工作流中的mapreduce作业中设置缩减器的数量
另一种处理方法是在map reduce作业的末尾运行一个连接脚本,将所有part-r文件拼凑在一起,例如

cat *part-r* >>alloutput

如果您有头文件,并且需要先复制到本地文件,可能会更复杂一些。

相关问题