前言
随着Spark版本的不断迭代,SparkSQL底层使用了各种优化技术,无论方便性、性能都已经超越了RDD。因此SparkSQL已经是最常用的Spark开发方式,这里把常用的SparkSQL性能优化技术进行汇总。文章来源:https://www.toymoban.com/news/detail-630783.html
使用缓存
- 缓存
我们知道spark开发中如果有重复使用dataset/table的时候需要使用缓存来提高性能。比如:
或者:spark.catalog.cacheTable("view1")
如果是dataset可以直接用:spark.table("view1").cache()
dataset.cache()
注意:在一个比较复杂的spark程序中使用了缓存,当不需要的使用一定要记得移除缓存释放掉占用的资源:
spark.catalog.uncacheTable(“view1”)文章来源地址https://www.toymoban.com/news/detail-630783.html - 缓存压缩
建议可以根据实际内存情况调整下面一个参数:
该参数设置为true,Spark会根据数据统计信息,自动为每一列选择单独的压缩编码方式。这样会减少数据检索和内存使用。但是如果内存是足够的,那么默认false就可以&#xspark.conf.set("spark.sql.inMemoryColumnarStorage.compressed", true)
到了这里,关于SparkSQL性能优化终极篇的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!