问题描述: 对某个实现了Writeable 序列化接口的类增加一些传输的参数,,结果发现JT端始终无法获得TT端设置的值,且值始终是构造函数中初始化的值,查到最后,发现是序列化问题。
每个实现了Writeable 接口的类,都要实现write函数和readFields,一个是将该对象中的参数序列化入发送参数构造的Call对象,一个是从Call对象中将参数读取。
新增参数没有在这两个函数中加入序列化的过程的话,就会发现读取的值始终不对,因为缺少以上两个函数,所以无法正确的序列化写入和在JT端读取并构造新的对象。
此外,还需注意,write函数和readFields对象属性时,顺序要一致,比如write时先写一个int,再写一个double ,读的时候应按照同样顺序读进来,先读int,再读double ,否则会报
java.io.EOFException
at
java.io.DataInputStream.<wbr>readFully(DataInputStream.<wbr>java:197)</wbr></wbr>
之类的错误。
Blaaaaaaa............
以前遇到过这个问题,当时解决了,今天又忘了,白白折腾了一个小时!
分享到:
相关推荐
Hadoop 3.x(MapReduce)----【Hadoop 序列化】---- 代码 Hadoop 3.x(MapReduce)----【Hadoop 序列化】---- 代码 Hadoop 3.x(MapReduce)----【Hadoop 序列化】---- 代码 Hadoop 3.x(MapReduce)----【Hadoop ...
Hadoop序列化的特点 Hadoop的序列化格式:Writable 序列化格式特点: 紧凑:高效使用存储空间。 快速:读写数据的额外开销小 可扩展:可透明地读取老格式的数据 互操作:支持多语言的交互
NULL 博文链接:https://wmwork2010.iteye.com/blog/629320
2.1 序列化概述 2.2 常用数据序列化类型 2.3 自定义 bean 对象实现序列化接口(Writable) 2.4 序列化案例实操
序列化是指将结构化对象转化为字节流以便在网络上传输或者写到磁盘永久存储的过程。下面通过本文给大家分享Java Object Serialization与 Hadoop 序列化,需要的朋友可以参考下
(1)紧凑:高效使用存储空间 (2)快速:读写数据的额外开销小 (3)可扩展:随着通信协议的升级而可升级 (4)互操作:支持多语言的交互 (1)必须实现Writ
Hadoop是什么,为什么要学习Hadoop? Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式...
Hadoop是一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File ...
尚硅谷大数据技术之Hadoop(MapReduce)(作者:尚硅谷大数据研发部)版本:V2.0第1章 MapReduce概述1.1 MapReduce定义1.2
Hadoop平台技术 序列化操作案例.docx 学习资料 复习资料 教学资源
Apache Avro 1.8.2 序列化规范, Hadoop 新型序列化框架规范定义。
Hadoop中Avro序列化不同于Google的protocol Buffer,本文档是简单的一个数据序列化与反序列化的示例
hadoop 开发基础知识之Avro数据序列化系统讲义(1)
Hadoop 2.0 生态系统第三章 序列化Avro1
Hadoop 2.0 生态系统第三章 序列化JSON2
Hadoop 2.0 生态系统第三章 序列化Parquet1
Hadoop 2.0 生态系统第三章 序列化Parquet2
Hadoop 2.0 生态系统第三章 序列化Avro2
Hadoop 2.0 生态系统第三章 序列化JSON1