前言
随着Spark版本的不断迭代,SparkSQL底层使用了各种优化技术,无论方便性、性能都已经超越了RDD。因此SparkSQL已经是最常用的Spark开发方式,这里把常用的SparkSQL性能优化技术进行汇总。
使用缓存
- 缓存 我们知道spark开发中如果有重复使用dataset/table的时候需要使用缓存来提高性能。比如:
spark.catalog.cacheTable("view1")
或者:spark.table("view1").cache()
如果是dataset可以直接用:dataset.cache()
> 注意:在一个比较复杂的spark程序中使用了缓存,当不需要的使用一定要记得移除缓存释放掉占用的资源:> spark.catalog.uncacheTable(“view1”) - 缓存压缩 建议可以根据实际内存情况调整下面一个参数:
spark.conf.set("spark.sql.inMemoryColumnarStorage.compressed", true)
该参数设置为true,Spark会根据数据统计信息,自动为每一列选择单独的压缩编码方式。这样会减少数据检索和内存使用。但是如果内存是足够的,那么默认false就可以&#x
本文转载自: https://blog.csdn.net/Android_xue/article/details/131164748
版权归原作者 SunnyRivers 所有, 如有侵权,请联系我们删除。
版权归原作者 SunnyRivers 所有, 如有侵权,请联系我们删除。