我有两个与mapreduce和hadoop相关的概念疑问。我知道一个简单的迭代map-reduce程序,知道mapper,reducer,shuffler是什么.. 但仍想了解以下问题
1)迭代地图何时减少完成?
2)我知道身份映射器/减速器提供与馈送输入相同的输出。 但是我们什么时候使用身份映射器/缩减器?
答案 0 :(得分:2)
1)迭代MR算法的一个例子是 Dijkstra 的最短路径算法。在每次迭代中,探索所有活动节点的最近邻居,减少阶段用于检查目标节点是否已到达。其他例子是Facebook的朋友朋友( FoF )算法,以寻找新朋友。
2)如果你只想排序你的输入,可以使用身份映射器(等等!)。例如,可以使用身份缩减器来实现令人尴尬的并行算法,其中您只需使用映射器执行并行任务,但您希望对输出键值对进行排序。
希望这能帮到你。
请注意,除了身份缩减器之外,您还可以设置NO reducer(然后不会对地图输出进行排序)。