如何在单个文件中获取Mapreduce输出,而不是在Google Cloud上的Hadoop Cluster中获取多个文件?

时间:2014-11-27 09:33:11

标签: hadoop google-cloud-platform

当我在本地hadoop多节点集群上运行我的jar时,我可以看到输出reducer输出,并且每个作业都是一个文件。

但是当我在Google Cloud上运行相同的jar时,我会得到多个输出文件(part-r-0000 *)。相反,我需要的是将所有输出写入单个文件。我该怎么做?

1 个答案:

答案 0 :(得分:1)

一个简单的解决方案是将作业配置为仅使用一个reducer运行。似乎在Google Cloud上,默认设置不同。请参阅此处了解如何执行此操作:Setting the Number of Reducers in a MapReduce job which is in an Oozie Workflow

另一种解决这个问题的方法是在map map末尾运行一个连接脚本,将所有part-r文件拼凑在一起,例如

cat *part-r* >>alloutput

如果你有标题,可能会有点复杂,而且你需要先复制到本地。