前言
在使用Spark进行数据开发的时候,避不开的一个问题就是性能调优。网上一搜一大堆所谓的调优策略很多作者自己都不知所云,导致读者看了后只会更加困惑。我们在研究一个技术的时候第一手资料永远都请参考官网,官网对性能优化不一定是最全甚至最优,但是可以解决大部分问题。根据官方的总结,性能优化最重要的只有两个:
- 数据序列化
- 内存调优
本文主要对数据序列化对性能影响进行全面性的总结。
spark调优之前请大声喊三遍:
Spark性能优化考虑的第一步就是数据序列化
Spark性能优化考虑的第一步就是数据序列化
Spark性能优化考虑的第一步就是数据序列化
数据序列化
序列化(Serialization)指的是将对象转化为字节流的过程,以便能够在网络上传输或者保存到磁盘上。可以将序列化看作是对象的持久化,使其能够在不同的时间和地点进行传输、存储和重用。
序列化在任何分布式应用程序的性能中都起着重要作用。将对象序列化为慢速格式,或消耗大量字节的格式,将大大降低计算速度。通常,这将是优化Spark应用程序的第一件事。Spark