Serialization 在Hadoop MapReduce中为Java类型提供可写包装器类的原因是什么?
在我看来,可以编写Serialization 在Hadoop MapReduce中为Java类型提供可写包装器类的原因是什么?,serialization,hadoop,mapreduce,writable,Serialization,Hadoop,Mapreduce,Writable,在我看来,可以编写org.apache.hadoop.io.serializer.Serialization来直接序列化java类型,格式与包装器类将类型序列化为的格式相同。这样,映射器和还原器就不必处理包装器类。没有什么可以阻止您更改序列化以使用不同的机制,如java Serializable interface或类似thrift、协议缓冲区等 事实上,Hadoop附带了一个(实验性的)对象序列化实现——只需配置序列化工厂即可使用它。默认的序列化机制是writeableserializatio
org.apache.hadoop.io.serializer.Serialization
来直接序列化java类型,格式与包装器类将类型序列化为的格式相同。这样,映射器和还原器就不必处理包装器类。没有什么可以阻止您更改序列化以使用不同的机制,如java Serializable interface或类似thrift、协议缓冲区等
事实上,Hadoop附带了一个(实验性的)对象序列化实现——只需配置序列化工厂即可使用它。默认的序列化机制是writeableserialization
,但可以通过设置以下配置属性进行更改:
io.serializations=org.apache.hadoop.io.serializer.JavaSerialization
但是,请记住,任何需要可写(输入/输出格式、分区器、比较器)等的内容都需要替换为可通过可序列化
实例而不是可写
实例传递的版本
为好奇的读者提供更多链接:
- -这似乎是一个与你所问的问题相似的问题,Tariq与Doug Cutting解释使用