hadoop - 什么时候使用身份映射器/缩减器?

标签 hadoop mapreduce mapper

我有两个与 mapreduce 和 hadoop 相关的概念疑惑。我知道一个简单的一次迭代 map-reduce 程序,知道什么是 mapper、reducer、shuffler。 但还是想了解以下问题

1)迭代 map reduce 什么时候完成?

2) 我知道身份映射器/缩减器提供与馈送输入相同的输出。 但是我们什么时候使用身份映射器/缩减器?

最佳答案

1) 迭代 MR 算法的一个例子是 Dijkstra 的最短路径算法。在每次迭代中探索所有事件节点的最近邻居,减少阶段用于检查是否已经到达目标节点。其他示例是 Facebook 的 friend 之友 (FoF) 算法,用于查找推荐新 friend 。

2) 如果您只想对输入进行排序,则可以使用identity mapper(以及其他!)。例如,identity reducer 可用于实现令人尴尬的并行算法,您只需使用映射器来执行并行任务,但您希望对输出键值对进行排序。

希望这对您有所帮助。

请注意,除了 identity reducer 之外,您还可以设置 NO reducer(这样 map 输出就不会排序)。

关于hadoop - 什么时候使用身份映射器/缩减器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19539683/

相关文章:

scala - 使用两个条件过滤列表并创建 map scala

java - 映射器是适配器模式的一个版本吗

hadoop - 默认 Mapper-Reducer 类

hadoop - 是否必须能够从一个节点到另一个节点进行 SSH 才能进行 cloudera 集群安装?

r - Hadoop中缺少时间序列数据

hadoop - 获取当前运行的reduce任务数

sql - 使用HiveQL(Hadoop)在Hive中联接两个表

Hadoop Mapper参数含义

sql - 为什么我不能在Hive中使用带有多个insert子句的高级聚合功能?

hadoop - 傻瓜化的Mapreduce