Serialized RDD如何在内存中占用更少的空间?

时间:2018-01-03 01:05:49

标签: java apache-spark serialization

在Spark Programming指南中,序列化RDD被称为减少内存使用量的技术之一。根据我的理解,序列化是将对象转换为字节,以便可以轻松地将对象保存到存储中。那么它如何占用较少的空间?

1 个答案:

答案 0 :(得分:6)

对于Spark版本2.x.x,正如它在内存调优文档中提到的那样,Java对象在原始数据上有开销,例如指向类的指针,使用包装器对象的集合或基本类型集合的盒装对象。对象序列化时不会存储这些开销。

但由于数据在分区中存储为序列化字节数组,因此需要对其进行反序列化以便使用,这可能非常耗时。

https://spark.apache.org/docs/latest/tuning.html