MapReduce学习整理(1)——常用代码篇

本文详细介绍了MapReduce的学习,包括自定义Bean对象的创建,实现序列化功能。接着讲解了Mapper类的配置,Reducer的实现,Driver的主要作用,以及可选的Combiner和Partitioner的使用。自定义Partitioner示例中提到了手机号码分区,并强调了合理设置reduceTask数量的重要性。
摘要由CSDN通过智能技术生成

自定义Bean对象

为满足mapper、reducer阶段特殊的输入或输出(如:有多个字符信息的输入、输出信息)为实现序列化功能,需要自定义对象,作为输入或输出。以TestBean对象为例
1.创建TestBean对象,实现Writable或WritableComparable接口

public class TestBean implements Writable{}
publice class TestBean implements WritableComparable<TestBean>{}

2.设置空参构造方法和构造方法
根据具体代码内参数来设置构造方法

//空参构造方法,反序列化要调用空参构造方法
public TestBean(){
    super()
}

3.序列化和反序列化
序列化和反序列化方法不要写反了,序列化和反序列化方法内顺序要保持一致。

//序列化
@Override
	public void write(DataOutput out) throws IOException {
            out.write...(XXX);               //...表示输入数据的类型,String用UTF代替;XXX表示参数名称
	}
//反序列化
	@Override
	public void readFields(DataInput in) throws IOException {
          XXX=in.read...();               //...表示输入数据的类型,String用UTF代替;XXX表示参数名称
	}

4.重写toString方法
5.设置setter和getter方法
6.compar

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值