基本概念

本章节为您介绍MapReduce的基本概念。

Map/Reduce

Map和Reduce分别支持对应的map/reduce方法、setup方法及cleanup方法。setup方法在map/reduce方法之前调用,每个Worker调用且仅调用一次。

cleanup方法在map/reduce方法之后调用,每个Worker调用且仅调用一次。

相关的使用示例请参见示例程序

排序

支持将Map输出的key record中的某几列作为排序(Sort)列,不支持您自定义的比较器(comparator)。您可以在排序列中选择某几列作为Group列,不支持您自定义的Group比较器。Sort列一般用来对您的数据进行排序,而Group列一般用来进行二次排序。

相关的使用示例请参见二次排序源代码

哈希

支持设置哈希(partition)列及用户自定义哈希函数(partitioner)。哈希列的使用优先级高于自定义哈希函数。

哈希函数用于将Map端的输出数据按照哈希逻辑分配到不同的Reduce Worker上。

归并

归并(Combiner)函数将Shuffle阶段相邻的Record进行归并。您可以根据不同的业务逻辑选择是否使用归并函数。

归并函数是MapReduce计算框架的一种优化,通常情况下,Combiner的逻辑与Reduce相同。当Map输出数据后,框架会在Map端对相同key值的数据进行本地的归并操作。

相关的使用示例请参见示例程序