去重

模式描述

这个模式过滤整个数据集,但它更具有挑战,因为你要过滤掉数据集中的相似记录。

目的

你有一个数据集包含一系列相似的记录,你希望找出其唯一的集合。

结构

它使用了MapReduce框架的功能将相同的键分组到一起来实现去重。这个模式使用mapper做数据的转换,在reducer中不需要做太多工作。在这个模式中可以使用combiner,如果有大量的重复数据,combiner将会非常有用。重复的记录在数据集中经常会相对邻近,因此combiner可以在map阶段实现去重。

mapper获取每个记录并抽取器需要做去重处理的字段。

reducer基于键将null值分组,因此对每一个键我们将得到一个null值。然后简单地输出键,因为我们不关心有多少个null值。因为每一个键是分组到一起的,这个输出数据集将保证是唯一的。

性能分析

主要的考虑是如何确定MapReduce作业需要的reducer数目。reducer的数目高度决定于总的记录条数以及从mapper输出的字节数,这个取决于combiner可以消除多少条数据。通常,如果重复记录在输入split中非常少见,差不多所有的数据都会发送到reducer阶段。

results matching ""

    No results matching ""