当我在本地hadoop多节点集群上运行jar时,我可以看到reducer的输出,并且每个作业都是一个文件。但是当我在googlecloud上运行同一个jar时,我会得到多个输出文件(part-r-0000*)。相反,我需要的是将所有输出写入一个文件。我该怎么做?
dl5txlt91#
一个简单的解决方案是将作业配置为只使用一个减速机运行。在googlecloud上,默认设置似乎有所不同。请参阅此处了解如何做到这一点:在oozie工作流中的mapreduce作业中设置缩减器的数量另一种处理方法是在map reduce作业的末尾运行一个连接脚本,将所有part-r文件拼凑在一起,例如
cat *part-r* >>alloutput
如果您有头文件,并且需要先复制到本地文件,可能会更复杂一些。
1条答案
按热度按时间dl5txlt91#
一个简单的解决方案是将作业配置为只使用一个减速机运行。在googlecloud上,默认设置似乎有所不同。请参阅此处了解如何做到这一点:在oozie工作流中的mapreduce作业中设置缩减器的数量
另一种处理方法是在map reduce作业的末尾运行一个连接脚本,将所有part-r文件拼凑在一起,例如
如果您有头文件,并且需要先复制到本地文件,可能会更复杂一些。