`

Mapreduce《案例之数据去重复》

阅读更多

Mapreduce《案例之数据去重复》

源数据:

a.txt内容:

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

 

b.txt内容:

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

 

输出结果:

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

 

 

 

 

//===================================JAVA CODE=========================

package gq;

 

import java.io.IOException;

 

import org.apache.hadoop.conf.Configuration;

import org.apache.hadoop.fs.Path;

import org.apache.hadoop.io.Text;

import org.apache.hadoop.mapreduce.Job;

import org.apache.hadoop.mapreduce.Mapper;

import org.apache.hadoop.mapreduce.Reducer;

import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;

import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;

/**

 * 数据去重复

 * @author tallqi

 *

 */

public class Dereplication {

 

public static class Map extends Mapper<Object, Text, Text, Text>{

private static Text line = new Text();

public void map(Object key,Text value,Context context) throws IOException, InterruptedException{

line =value;

System.out.println("Map:"+value);

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

}

 

}

public static class Reduce extends Reducer<Text, Text, Text, Text>{

public void reduce(Text key,Iterable<Text> value,Context context) throws IOException, InterruptedException{

System.out.println("Reduce:"+key);

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

}

 

}

public static void main(String[] args) throws Exception{

 

      Configuration conf = new Configuration();

 

Job job = new Job(conf,"Dereplication");

job.setJarByClass(Dereplication.class);

 

//设置Map、Combine和Reduce处理类

job.setMapperClass(Map.class);

// job.setCombinerClass(Reduce.class);

job.setReducerClass(Reduce.class);

   

 

//输出Key,value的类型

job.setOutputKeyClass(Text.class);

job.setOutputValueClass(Text.class);

 

//数据源地址,数据输出地址

FileInputFormat.addInputPath(job, new Path("hdfs://h0:9000/user/tallqi/in/input"));

FileOutputFormat.setOutputPath(job, new Path("hdfs://h0:9000/user/tallqi/in/output"));

System.exit(job.waitForCompletion(true)?0:1);

 

}

 

}

 

分享到:
评论

相关推荐

    mapreduce项目 数据清洗

    MapReduce是一种分布式计算模型,由Google在2004年提出,主要用于处理和生成大规模数据集。它将复杂的并行计算任务分解成两个主要阶段:Map(映射)和Reduce(化简)。在这个"MapReduce项目 数据清洗"中,我们将探讨...

    MapReduce操作实例-数据去重.pdf

    在这个实例中,我们看到的是一个基于MapReduce的数据去重操作,这个操作在大数据处理中非常常见,尤其是当处理的数据源包含重复记录时。下面将详细解释每个部分的作用。 1. **Mapper类**: 在`DedupMapper`类中,...

    mapreduce综合应用案例 - 招聘数据清洗.md

    下面是一个简单的 MapReduce 应用案例,用于招聘数据的清洗: 假设我们有一个包含求职者简历信息的文本文件,其中每行是一个求职者的简历,包括姓名、学历、工作经验等信息。我们希望通过 MapReduce 对这些简历数据...

    mapreduce综合应用案例 - 招聘数据清洗.docx

    ### MapReduce综合应用案例——招聘数据清洗 #### 一、背景 随着互联网技术的迅猛发展,各类在线招聘平台成为连接求职者与企业的桥梁。这些平台不仅提供了海量的招聘信息,也为企业的人才选拔提供了便利。然而,在...

    007_hadoop中MapReduce应用案例_1_数据去重

    在这个"007_hadoop中MapReduce应用案例_1_数据去重"的主题中,我们将深入探讨如何利用MapReduce解决数据去重的问题。这个案例可能涉及到对大数据集进行清洗和预处理,以确保数据的准确性和一致性。 首先,我们来看`...

    MapReduce在招聘数据清洗中的综合应用案例.zip

    《MapReduce在招聘数据清洗中的综合应用案例》 MapReduce是一种分布式计算模型,由Google公司提出,主要用于处理和生成大规模数据集。在这个案例中,我们将深入探讨如何利用MapReduce技术来清洗招聘数据,以实现更...

    mapreduce综合应用案例 - 招聘数据清洗

    ### MapReduce综合应用案例——招聘数据清洗 #### 案例背景 随着互联网技术的发展,企业获取求职者信息的方式越来越多样化,导致收集到的求职者简历数据量巨大且杂乱无章。一家大型招聘公司在日常运营中积累了大量...

    mapreduce综合应用案例 - 招聘数据清洗.zip

    通过分析提供的“mapreduce综合应用案例 - 招聘数据清洗.zip”压缩包,我们可以了解到如何利用MapReduce技术对招聘数据进行高效且准确的预处理。 首先,MapReduce由两个主要阶段组成:Map阶段和Reduce阶段。Map阶段...

    大数据采集、清洗、处理:使用MapReduce进行离线数据分析完整案例.zip

    在大数据领域,数据采集、清洗和...综上所述,这个案例将涵盖从数据采集到MapReduce处理的全过程,帮助理解大数据分析的核心技术和实践方法。通过学习和实践,你将能够应对各种大数据挑战,为业务决策提供有力支持。

    mapreduce综合应用案例 - 招聘数据清洗.pdf

    ### MapReduce在招聘数据清洗中的综合应用案例 #### 一、案例背景 在当前大数据时代背景下,企业常常需要处理大量的招聘数据,这些数据通常包含了职位信息、公司信息、薪资范围、工作地点等丰富的信息。然而,原始...

    mapreduce综合应用案例.zip

    本综合应用案例聚焦于MapReduce在招聘数据清洗中的应用。 在大数据领域,数据清洗是至关重要的一步,它包括去除重复值、处理缺失值、纠正格式错误、转换数据类型等多个环节。在招聘数据中,可能存在各种不一致性,...

    mapreduce综合应用案例2.zip

    在本案例中,我们将深入探讨MapReduce如何应用于招聘数据清洗这一实际场景。 一、Map阶段 在Map阶段,原始数据被分片(split)并分配给多个工作节点(worker node)。每个节点上的mapper任务独立处理其分配的数据块...

    21_尚硅谷大数据之MapReduce扩展案例1

    在本节中,我们将深入探讨MapReduce的扩展案例,特别是倒排索引的构建,这是一个在大数据处理中常见的任务,特别是在搜索引擎技术中。倒排索引允许快速定位文档中特定关键词的位置,从而提高搜索效率。 首先,我们...

    MapReduce初级案例

    通过MapReduce程序设计,可以实现将这些数据中的重复项去除,只保留唯一的数据项。 在设计思路上,数据去重的目标是确保输出文件中每个数据项只出现一次。这一目标可以通过让相同的数据项在MapReduce过程中被发送到...

Global site tag (gtag.js) - Google Analytics