hadoop中的序列化机制与反序列化机制
定义
- 序列化
就是把内存中的对象,转换成二进制数据,以便于网络传输 - 反序列化
就是将收到的二进制的数据转换成内存中的对象。
java序列化比较笨重,hadoop自己开发了一套序列化机制Writable,比较轻便,好传输
在java中一个对象被序列化后,会附带很多额外的信息,不便于在网络中高效传输
常用的数据序列化类型
自定义一个JavaBean对象充当我们的key-value类型有如下规则:
序列化注意
- Hadoop序列化有要求,如果是我们自定义的JavaBean对象,必须实现writable接口
- 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; } }
本文来自博客园,作者:jsqup,转载请注明原文链接:https://www.cnblogs.com/jsqup/p/16518229.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!