Hadoop地图只有工作

时间:2013-09-02 14:04:22

标签: hadoop mapreduce avro

我的情况如下:

我有两个MapReduce作业。 第一个是MapReduce作业,它生成按键排序的输出。

然后第二个Map only作业将提取部分数据并收集它。

我在第二份工作中没有减速机。

问题是我不确定来自map only job的输出是否会被排序,或者它是否会从map函数中洗牌。

2 个答案:

答案 0 :(得分:1)

首先:如果你的第二份工作只包含一个包含/排除特定记录的过滤器,那么你最好只是将这个过滤器添加到第一份工作的减速器的末尾。

MapReduce的一个相当重要的事实是,reducer将以“某种方式”对您无法控制的记录进行排序。在编写作业时,您应该假设记录以随机顺序输出。

如果您确实需要以特定顺序输出所有记录,那么将SecondarySort机制与单个减速器结合使用是“简单”的解决方案,不能很好地扩展。 “硬”解决方案是“Tera sort”基准测试使用的解决方案。 阅读此SO问题,以便更深入地了解其工作原理: How does the MapReduce sort algorithm work?

答案 1 :(得分:0)

否则zsxwing说,除非你指定reducer,否则不会进行任何处理,然后分区将在map侧执行,排序和分组将在reduce侧完成。