关于hadoop中MapReduce使用对象类型数据问题

使用序列化

  1. 在Hadoop的集群工作过程中,一般是利用RPC来进行集群节点之间的通信和消息的传输,所以要求MapReduce处理的对象必须可以进行序列化/反序列操作。
  2. Hadoop并没有使用Java原生的序列化,而是利用的是Avro实现的序列化和反序列,并且在其基础上进行了更好的封装,提供了便捷的API
  3. 在Hadoop中要求被序列化的对象对应的类必须实现Writable接口
  4. 序列化过程中要求属性值不能为null

实例

实现序列化接口
在这里插入图片描述
重写write和readFields方法
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/yang134679/article/details/93418029