MapReduce中的过滤模式应用
1. 过滤模式概述
在处理大规模数据时,我们常常需要从海量数据中筛选出我们感兴趣的部分。过滤、布隆过滤和简单随机抽样等方法可以让我们仅使用Map任务来完成这项工作,而无需使用Reducer。
1.1 过滤模式描述
过滤是最基本的模式,它为其他一些模式提供了抽象框架。过滤的过程就是分别评估每条记录,并根据某些条件决定是否保留该记录。
- 意图 :过滤掉不感兴趣的记录,保留感兴趣的记录。可以通过一个评估函数$f$来实现,该函数接受一条记录并返回一个布尔值(true或false)。如果函数返回true,则保留该记录;否则,丢弃该记录。
- 动机 :当数据集很大时,我们希望从中选取一个子集进行重点分析。这个子集可能是数据集的很大一部分,也可能只是其中的一小部分。通过MapReduce的并行性,我们可以遍历所有数据并找出需要保留的记录。例如,我们可能只对与Hadoop相关的记录感兴趣,过滤可以帮助我们保留符合“与Hadoop相关”标准的记录,而丢弃其他记录。
- 适用性 :过滤模式非常广泛适用,唯一的要求是数据可以解析成“记录”,并且可以通过一些明确的标准来确定是否保留这些记录。
1.2 过滤模式结构
过滤模式的结构可能是所有模式中最简单的。其结构如下:
map(key, record):
if we want to k
超级会员免费看
订阅专栏 解锁全文
696

被折叠的 条评论
为什么被折叠?



