【发布时间】:2013-06-16 17:17:59
【问题描述】:
在我看来,可以编写 org.apache.hadoop.io.serializer.Serialization 来直接序列化 java 类型,其格式与包装类将类型序列化成的格式相同。这样,Mappers 和 Reducers 就不必处理包装类。
【问题讨论】:
标签: serialization hadoop mapreduce writable
在我看来,可以编写 org.apache.hadoop.io.serializer.Serialization 来直接序列化 java 类型,其格式与包装类将类型序列化成的格式相同。这样,Mappers 和 Reducers 就不必处理包装类。
【问题讨论】:
标签: serialization hadoop mapreduce writable
没有什么可以阻止您更改序列化以使用不同的机制,例如 java Serializable 接口或 thrift、协议缓冲区等。
事实上,Hadoop 为Java Serializable 对象提供了一个(实验性的)序列化实现——只需配置序列化工厂即可使用它。默认的序列化机制是WritableSerialization,但可以通过设置以下配置属性来更改:
io.serializations=org.apache.hadoop.io.serializer.JavaSerialization
但请记住,任何需要可写(输入/输出格式、分区器、比较器)等的东西都需要替换为可以传递 Serializable 实例而不是 Writable 实例的版本。
为好奇的读者提供更多链接:
【讨论】: