我对 Hadoop 很陌生,必须深入研究它的序列化。我知道 Hadoop 带有自己的称为 Writables 的序列化程序。我很想知道 Avro(或 protobuf,thrift)是否取代了 Writables 接口(interface),或者 Avro 只是用于序列化 MR 客户端数据,而不是用于序列化 namenode 和 datanode 之间的内部通信。
最佳答案
AVRO 是一个序列化库(带有多种语言的 api)。 AVRO 是使用/实现 Key/Value 对象作为 Writables 的替代方法,但是当在各种服务(数据节点、名称节点、作业和任务跟踪器)之间进行通信时,hadoop 仍然使用它自己的 RPC 数据结构。
关于serialization - Avro 替代 Writables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10410699/