Mapreduce实现数据去重

本文介绍了如何利用MapReduce进行数据去重。通过设置数据的key为数据本身,利用reduce阶段的特性,确保每个key只输出一次,从而达到去重目的。详细步骤包括设计思路、代码实现、数据准备、程序打包和运行。
摘要由CSDN通过智能技术生成

一、数据去重

要求:对多个数据文件进行去重。每行数据格式为“时间 字母”

1.1 设计思路

根据reduce的过程特性,会自动根据key来计算输入value的集合,把数据作为key输出传给reduce,则无论出现多少次,reduce最终结果中key只能输出一个。(map输出:<key,value-list>,value-list的个数即次数>
每个数据代表一行内容,所以map阶段任务即为把value设置为key并直接输出。map中结果经过shuffle后交给reduce。reduce阶段不管每个key有多少value,而是直接将输入的key复制为输出的key,并输出。

1.2 代码实现

public calss Dedup{
   
      // Mapper的四个参数:第一个Object表示输入key的类型;第二个Text表示输入value的类型;第三个Text表示表示输出键的类型;第四个IntWritable表示输出值的类型。
	  public static class Map extends Mapper<Object, Text, Text, IntWritable> {
   
	  	private static Text line=
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值