我是hadoop的新手,有一个问题困扰着我。我有一个用例,我想在一个大约2gb大小的文件上运行一个map-only作业。我使用combinehiveinputformat创建了4个大小为512mb的分区,并为每个分区生成了4个Map器。但是,当这些Map程序试图将其输出写入单个输出文件时,我发现一些数据不一致。多个Map器是否可以将其输出写入同一个文件?如果是的话,我需要做些什么来实现这个目标吗?提前谢谢。
ykejflvf1#
通常在mapreduce作业中,Map器不会写入任何hdfs文件。相反,他们将数据传递给 IdentityReducer 然后将输出写入一个文件(如果有多个减速器,则写入多个文件)。尝试在客户端代码中设置:
IdentityReducer
//... conf.setReducerClass(IdentityReducer.class); conf.setNumReduceTasks(1);
1条答案
按热度按时间ykejflvf1#
通常在mapreduce作业中,Map器不会写入任何hdfs文件。相反,他们将数据传递给
IdentityReducer
然后将输出写入一个文件(如果有多个减速器,则写入多个文件)。尝试在客户端代码中设置: