mapreduce序列化

1.   hadoop的序列化(Writable)比jdk的序列化(Serializable)更加简洁高效

2.   基本序列化类型

  • LongWritable
  • IntWritable
  • nullWritable
  • Text

3.    Bean序列化

因为maprduce的shuffle过程要对key比较排序,所以,如果key是bean,就要对bean进行序列化

  • 实现WritableComparable
TextBeanSer implements WritableComparable<TextBean> 
  • 序列化方法
public void write(DataOutput out) throws IOException {
    out.writeLong(a);
    out.writeFloat(b);
}
  • 反序列化方法(和序列化顺序一致)
public void readFields(DataInput in) throws IOException {
    a=in.readLong();
    b=in.readFloat();
}
  • 比较 (正序为例)
public int compareTo(ItemBeanSer o) {
    return a>o.getA()?1:-1;
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值