Home  >  Article  >  Database  >  hadoop mapreduce数据去重

hadoop mapreduce数据去重

WBOY
WBOYOriginal
2016-06-07 14:58:471465browse

hadoop mapreduce数据去重 假设我们有下面两个文件,需要把重复的数据去除。 file0 [plain] 2012-3-1 a 2012-3-2 b 2012-3-3 c 2012-3-4 d 2012-3-5 a 2012-3-6 b 2012-3-7 c 2012-3-3 c file1 [plain] 2012-3-1 b 2012-3-2 a 2012-3-3 b 2012-3-4 d 2012-3-

hadoop mapreduce数据去重

 

假设我们有下面两个文件,需要把重复的数据去除。

file0

 

[plain] 

2012-3-1 a  

2012-3-2 b  

2012-3-3 c  

2012-3-4 d  

2012-3-5 a  

2012-3-6 b  

2012-3-7 c  

2012-3-3 c  

 

file1

[plain] 

2012-3-1 b  

2012-3-2 a  

2012-3-3 b  

2012-3-4 d  

2012-3-5 a  

2012-3-6 c  

2012-3-7 d  

2012-3-3 c  

 

我们知道,map处理之后,相同的key的值会被聚合起来,交给一个reduce处理,所以,我们可以把输出的内容作为输出的key,reduce原样输出key就OK,mapreduce的代码如下:

[java] 

// map将输入中的value复制到输出数据的key上,并直接输出  

    public static class Map extends Mapper {  

          

        private static Text line = new Text();// 每行数据  

          

        // 实现map函数  

        public void map(Object key, Text value, Context context)  

                throws IOException, InterruptedException {  

            line = value;  

            context.write(line, new Text(""));  

        }  

    }  

  

    // reduce将输入中的key复制到输出数据的key上,并直接输出  

    public static class Reduce extends Reducer {  

        // 实现reduce函数  

        public void reduce(Text key, Iterable values, Context context)  

                throws IOException, InterruptedException {  

            context.write(key, new Text(""));  

        }  

    }  

 

处理后的文件如下:

[plain] 

2012-3-1 a    

2012-3-1 b    

2012-3-2 a    

2012-3-2 b    

2012-3-3 b    

2012-3-3 c    

2012-3-4 d    

2012-3-5 a    

2012-3-6 b    

2012-3-6 c    

2012-3-7 c    

2012-3-7 d    

 

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:mongo单台设备分片--2Next article:mongodb中的AND和OR