Maison > base de données > tutoriel mysql > hadoop mapreduce数据去重

hadoop mapreduce数据去重

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Libérer: 2016-06-07 14:58:47
original
1569 Les gens l'ont consulté

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    

 

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal