复习记录一:MapReduce

介绍

MapReduce的核心思想是“分而治之”,,适用于大量复杂的任务处理场景。

  • Map负责“分”,即把复杂的任务分解为若干个小任务来并行处理,可以进行拆分的前提是这些小任务可以可以并行计算,彼此之间没有依赖关系。
  • Reduce负责“合”,即对Map阶段的结果进行汇总。
  • MapReduce运行在yarn集群。
    1.ResourceManager。
    2.NodeManager。

MapReduce编程规范

Map阶段2个步骤

  • 设置InputFormat类,将数据切分成键值对,输入到第二步。
  • 自定义Map逻辑,将第一步的结果转换为另外的键值对,输出结果。

shuffle阶段4个步骤

  • 对输出的键值对进行分区。
  • 对不同分区的数据按照相同key排序。
  • (可选)对分组过的数据初步规约,降低数据的网络拷贝。
  • 对数据进行分组,相同key的value放在一组。

Reduce阶段2个步骤

  • 对多个Map任务的结果进行排序以及合并,编写Reduce函数实现自己的逻辑,对输入的键值对进行处理,转为新的键值对输出。
  • 设置OutputFormat处理并保存Reduce输出的键值对数据。

你可能感兴趣的:(复习)