序列化RDD如何在内存中占用更少的空间?

use*_*017 5 java serialization apache-spark

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

小智 6

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

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

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