在我看来 org.apache.hadoop.io.serializer.Serialization 可以编写为直接序列化java类型,格式与 Package 类将类型序列化为的格式相同。这样Map器和还原器就不必处理 Package 器类。
org.apache.hadoop.io.serializer.Serialization
uinbv5nw1#
没有什么能阻止您更改序列化以使用不同的机制,如java可序列化接口或类似节俭、协议缓冲区等。事实上,hadoop附带了一个java可序列化对象的(实验性)序列化实现—只需配置序列化工厂即可使用它。默认的序列化机制是 WritableSerialization ,但这可以通过设置以下配置属性来更改:
WritableSerialization
io.serializations=org.apache.hadoop.io.serializer.JavaSerialization
但是,请记住,任何需要可写的(输入/输出格式、分区器、比较器)等都需要被可以传递的版本所取代 Serializable 示例而不是 Writable 示例。为好奇的读者提供更多链接:http://www.tom-e-white.com/2008/07/rpc-and-serialization-with-hadoop.htmlhadoop可写和java.io.serialization之间有什么联系和区别这似乎是一个类似的问题,你所问的,塔里克有一个很好的链接到一个线程,道格切割解释背后的理由使用可写超过序列化
Serializable
Writable
1条答案
按热度按时间uinbv5nw1#
没有什么能阻止您更改序列化以使用不同的机制,如java可序列化接口或类似节俭、协议缓冲区等。
事实上,hadoop附带了一个java可序列化对象的(实验性)序列化实现—只需配置序列化工厂即可使用它。默认的序列化机制是
WritableSerialization
,但这可以通过设置以下配置属性来更改:但是,请记住,任何需要可写的(输入/输出格式、分区器、比较器)等都需要被可以传递的版本所取代
Serializable
示例而不是Writable
示例。为好奇的读者提供更多链接:
http://www.tom-e-white.com/2008/07/rpc-and-serialization-with-hadoop.html
hadoop可写和java.io.serialization之间有什么联系和区别这似乎是一个类似的问题,你所问的,塔里克有一个很好的链接到一个线程,道格切割解释背后的理由使用可写超过序列化