前言
随着Spark版本的不断迭代,SparkSQL底层使用了各种优化技术,无论方便性、性能都已经超越了RDD。因此SparkSQL已经是最常用的Spark开发方式,这里把常用的SparkSQL性能优化技术进行汇总。
使用缓存
- 缓存
我们知道spark开发中如果有重复使用dataset/table的时候需要使用缓存来提高性能。比如:
或者:spark.catalog.cacheTable("view1")
如果是dataset可以直接用:spark.table("view1").cache()
dataset.cache()
注意:在一个比较复杂的spark程序中使用了缓存,当不需要的使用一定要记得移除缓存释放掉占用的资源:
spark.catalog.uncacheTable(“view1”) - 缓存压缩
建议可以根据实际内存情况调整下面一个参数: