数值概要
2.1.1 模式描述
目的
基于某个键将记录分组,并对每个分组计算一系列的聚合值,从而得到较大数据集的高层次视图。
假设F是一个通用的概要函数,我们将F应用于某个值的列表(v1、v2、v3、v4...Vn),从而得到一个输出值i,即i=F(v1、v2、v3、v4...Vn),F可以是最小值、最大值、平均值、中位数以及标准差。
动机
很多数据集已经大道无法通过人工遍历阅读的方式找出其正真含义。通过计算数据集数据概要得到高层次视图。
使用场景
- 要处理的是数值数据或者计数
- 数据可以按某些特定的字段分组
结构
MapReduce过程的每一个详细分分解说明如下:
- mapper的输出键包含需要进行分组操作的所有字段,值包含所有相关的数值字段。
- 对很多数值概要函数来说,combiner可以极大地减少通过网络传输到reduce端的中间键/值对的数量。
- 很多数值概要函数通过定制partitioner来实现更优的将键/值对分发到n个reduce任务。
- reduce接收一组数值(v1、v2、v3、v4...Vn)来执行函数i=F(v1、v2、v3、v4...Vn),这组数值与其对应的分组键相关联。得到的i即是给定输入键的输出结果。