传统IO和SparkIO区别
传统的数据存在单个计算机中,数据量少。Spark的数据存储在集群中,数据量巨大。
Spark需要考虑本地主机的IO开销,还需要顾虑到不同主机之间的传输开销。
IO序列化
目的:
- 进程间通信:不同节点之间进行数据传输。
- 数据持久化存储到磁盘:本地节点将对象写入磁盘。
无论是内存或者磁盘中的RDD含有的对象存储,还是节点间的传输数据,都需要执行序列化的过程。序列化与反序列化的速度、序列化后的数据大小等都影响数据传输的速度,以致影响集群的计算效率。