hadoop中的序列化机制与反序列化机制

定义

  1. 序列化
    就是把内存中的对象,转换成二进制数据,以便于网络传输
  2. 反序列化
    就是将收到的二进制的数据转换成内存中的对象。

java序列化比较笨重,hadoop自己开发了一套序列化机制Writable,比较轻便,好传输

在java中一个对象被序列化后,会附带很多额外的信息,不便于在网络中高效传输

常用的数据序列化类型

自定义一个JavaBean对象充当我们的key-value类型有如下规则:

序列化注意

  1. Hadoop序列化有要求,如果是我们自定义的JavaBean对象,必须实现writable接口
  2. JavaBean可以当value也可以当key
    如果只当value只需要序列化即可
    如果当key必须还要实现比较接口,如果你只当reducer阶段的key不需要比较接口
    map阶段输出的数据需要排序,为了让reducer获取数据的时候速度快一点
public class FlowBean implements Writable, Comparable<FlowBean> {
public int compareTo(FlowBean o) {
return 0;
}
}
或者
public class FlowBean implements WritableComparable<FlowBean> {
public int compareTo(FlowBean o) {
return 0;
}
}
posted @   jsqup  阅读(124)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!
点击右上角即可分享
微信分享提示