如何在Google Cloud上的Hadoop集群中以单个文件而不是多个文件获得Mapreduce输出?

如何在Google Cloud上的Hadoop集群中以单个文件而不是多个文件获得Mapreduce输出?,hadoop,google-cloud-platform,Hadoop,Google Cloud Platform,当我在本地hadoop多节点集群上运行jar时,我可以看到reducer的输出,并且每个作业都是一个文件 但当我在谷歌云上运行同一个jar时,我会得到多个输出文件(part-r-0000*)。相反,我需要的是将所有输出写入单个文件。如何做到这一点?一个简单的解决方案是将作业配置为仅使用一个减速器运行。谷歌云上的默认设置似乎有所不同。请参见此处了解如何执行此操作: 另一种处理方法是在MapReduce作业的末尾运行一个连接脚本,将所有part-r文件拼凑在一起,例如 cat *part-r* &g

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


但当我在谷歌云上运行同一个jar时,我会得到多个输出文件(part-r-0000*)。相反,我需要的是将所有输出写入单个文件。如何做到这一点?

一个简单的解决方案是将作业配置为仅使用一个减速器运行。谷歌云上的默认设置似乎有所不同。请参见此处了解如何执行此操作:

另一种处理方法是在MapReduce作业的末尾运行一个连接脚本,将所有part-r文件拼凑在一起,例如

cat *part-r* >>alloutput
如果您有标题,并且需要先复制到本地,则可能会有点复杂