Hadoop为什么不用Java Object Serialization?
2018-01-19 15:52
441 查看
Java有自己的序列化机制,称为“Java Object Serialization”(通常简称为“Java Serialization”),该机制与编程语言紧密相关,所以我们很自然会问为什么不在Hadoop中使用该机制。针对这个问题,Doug Cutting是这样解释的:“为什么开始设计Hadoop的时候我不用Java Serialization?因为她看起来太复杂,而我认为需要有一个至精至简的机制,可以用于精确控制对象的读和写,这个机制将是Hadoop的核心。使用Java
Serialization虽然可以获得一些控制权,但用起来非常纠结。
不用RMI(Remote Method Invocation远程方法调用)也出于类似的考虑。高效、高性能的进程间通信是Hadoop的关键。我觉得我们需要精确控制连接、延迟和缓冲的处理方式,RMI对此无能为力。”
问题在于Java Serialization不满足先前列出的序列化格式标准:精简、快速、可扩展、支持互操作。
Serialization虽然可以获得一些控制权,但用起来非常纠结。
不用RMI(Remote Method Invocation远程方法调用)也出于类似的考虑。高效、高性能的进程间通信是Hadoop的关键。我觉得我们需要精确控制连接、延迟和缓冲的处理方式,RMI对此无能为力。”
问题在于Java Serialization不满足先前列出的序列化格式标准:精简、快速、可扩展、支持互操作。
相关文章推荐
- 浅析Java Object Serialization与 Hadoop 序列化
- 深入浅析Java Object Serialization与 Hadoop 序列化
- Hadoop为什么不用JavaSetialization?
- Hadoop Serialization -- hadoop序列化详解 (3)【ObjectWritable,集合Writable以及自定义的Writable】
- java中的String类型的对象为什么可以自动转换成Object类型的?而Object却要强制转换成String类型的
- Java Object Serialization Specification
- 为什么使用Junit Test而不用普通java main方法来完成测试?
- Hadoop Serialization -- hadoop序列化详解 (3)【ObjectWritable,集合Writable以及自定义的Writable】
- java.lang.NoClassDefFoundError: org.ksoap2.serialization.SoapObject
- 为什么用java.math.BigDecimal 不用float和double
- JAVA 复制对象时为什么要用克隆clone()而不用“=”的原因
- 为什么选择scala而不用java开发spark
- Hadoop Serialization -- hadoop序列化详解 (3)【ObjectWritable,集合Writable以及自定义的Writable】
- 为什么使用Junit Test而不用普通java main方法来完成测试?
- 妈蛋,学hadoop不用java行不行?
- 为什么选择scala而不用java开发spark
- java中抛出RuntimeException异常,为什么可以不用撰写代码去捕获它?
- 为什么java不用写头文件?
- 为什么我们有时不用配置java环境变量?
- Java中为什么有的方法必须抛出异常,有的不用