SON 算法和映射 - 减少
在本文中,我们将讨论 SON 算法和 map-reduce 的介绍。此外,我们将介绍 First Map 和 First reduce 以及 Second Map 和 Second Reduce。所以让我们讨论一下。
SON算法:
SON 算法将自身很好地应用于并行计算环境。每个块可以被并行处理,并且来自每个块的频繁项集联合起来形成候选。
您可以将候选分配给许多处理器,让每个处理器计算篮子子集中每个候选的支持,最后将这些支持相加以获得对完整数据集中每个候选项目集的支持。
这个过程不必在 map-reduce 中执行,但是有一种自然的方式可以将两个 pass 中的每一个都指示为 map-reduce 操作。我们将在下面删减这个 map-reduce 序列。
- 第一个地图函数:
取出分配的篮子子集,并使用简单的随机算法识别子集中的频繁项集。考虑到该算法,如果要获取的每个映射任务在 file 中获得完整提要的一小部分 p,则将支持阈值从 s 降低到 ps。结果是一组键值对 (F, 1),其中 F 是来自样本的频繁项集。功德始终为 1 且无关紧要。 - 第一个归约函数:
每个reduce 杂项都分配有一组键,它们是项集。价值被忽略了,reduce 工作只是产生那些出现一次或多次的项目集。因此,第一个 reduce函数的结果是候选项目集。 - 第二个地图函数:
第二个 map函数的 map 任务获取第一个 reduce函数的所有输出(候选项目集)和输入数据文件的一部分。每个映射任务计算每个候选项目集在分配给它的数据集部分的篮子中的出现次数。在这第二个map函数中(C,v)是key pair value set,会输出,在这里可以看到如下参数。
C –它是候选集之一。
v -它是对输入到地图任务的篮子中包含的项目集的支持。 - 第二个减少函数:
reduce 任务将它们提供的项集作为键并聚合类似的值。结果是对提供 reduce 任务处理的每个 Itemsets 的完全支持。那些值总和至少为 s 的项集在整个数据集中是频繁出现的。因此,reduce 任务输出这些 Itemsets 及其 sum up 。不具有总支持至少 s 的项集不会广播到 reduce 任务的输出。