一:背景
很多数据源中的数据都是含有大量重复的,为此我们需要将重复的数据去掉,这也称为数据的清洗,MapReduce从Map端到Reduce端的Shuffle过程天生就有去重的功能,但是这是对输出的Key作为参照进行去重的。所以我们可以将Map端读入Value作为Key输出,就可以很方便的实现去重了。
二:技术实现
#需求 有两个文件file0和file1。将两个文件中的内容合并去重。
#file0的内容如下:
1
1
2
2
3
3
4
4
5
5
6
6
7
8
9
file1的内容如下:
1
9
9
8
8
7
7
6
6
5
5
4
4
2
1
2
代码实现:
public class DistinctTest {
// 定义输入路径
private static final String INPUT_PATH = "