网站平面图要怎么做,建筑公司网站常用长尾词,wordpress thecorporationtheme,wordpress图文混排一、流程图
Shuffle是Map方法之后#xff0c;Reduce方法之前的数据处理过程称。
二、图解说明
1、数据流向
map方法中context.write(outK, outV);开始#xff0c;写入环形缓冲区#xff0c;再进行分区排序#xff0c;写到磁盘 reduce方法拉取磁盘上的数据#xff0c;…一、流程图
Shuffle是Map方法之后Reduce方法之前的数据处理过程称。
二、图解说明
1、数据流向
map方法中context.write(outK, outV);开始写入环形缓冲区再进行分区排序写到磁盘 reduce方法拉取磁盘上的数据归并成最终的结果文件。 一般设置几个分区Partition则生成几个文件。
2、缓冲区
此处的排序采用快速排序算法针对key的索引进行排序按照字典顺序进行排序。 如果环形缓冲区设置的是100m那么实际存储数据的空间只有50m 以此来计算环形缓冲区的IO输出次数
3、Combiner过程
缓冲区溢出的文件有两类split.index和split.out每个分区都会生成一组。 此处主要做了两件事对每次溢出的文件按分区进行合并和并算法时的算法是归并算法 归并好之后分别进行压缩处理并写入磁盘。 而该过程是一个优化流程所以是可选流程。并不是必须的。
4、Reduce处理流程
设置几个分区就要对应设置几个reduce对应处理 这里的分组也是非必须的 reduce按分区Partition主动去读取map的结果文件到内存中如果内存不够会溢出到磁盘。 这里主要是进行文件的合并使用的是归并算法。
三、整体说明
例如有100万数据我设计用5个mapTask去处理。那么每个mapTask会处理20万条数据。 分区设置为2个那么reduce个数就是2个。 文件数量的变化如下图所示。