Heim > Datenbank > MySQL-Tutorial > hadoop mapreduce数据去重

hadoop mapreduce数据去重

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-07 14:58:47
Original
1568 Leute haben es durchsucht

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    

 

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage