多个Map器将输出写入单个文件

brc7rcf0  于 2021-05-31  发布在  Hadoop
关注(0)|答案(1)|浏览(357)

我是hadoop的新手,有一个问题困扰着我。我有一个用例,我想在一个大约2gb大小的文件上运行一个map-only作业。我使用combinehiveinputformat创建了4个大小为512mb的分区,并为每个分区生成了4个Map器。但是,当这些Map程序试图将其输出写入单个输出文件时,我发现一些数据不一致。多个Map器是否可以将其输出写入同一个文件?如果是的话,我需要做些什么来实现这个目标吗?
提前谢谢。

ykejflvf

ykejflvf1#

通常在mapreduce作业中,Map器不会写入任何hdfs文件。相反,他们将数据传递给 IdentityReducer 然后将输出写入一个文件(如果有多个减速器,则写入多个文件)。
尝试在客户端代码中设置:

//...
  conf.setReducerClass(IdentityReducer.class);
  conf.setNumReduceTasks(1);

相关问题