资讯专栏INFORMATION COLUMN

​spark sql性能调优

IT那活儿 / 1339人阅读
​spark sql性能调优

点击上方“IT那活儿”,关注后了解更多内容,不管IT什么活儿,干就完了!!!


引   言


Spark SQL虽然有内置优化器Catalyst,但是我们自己也可以做一些其他优化,本文主要列出出一些常用的优化项。


01


缓存数据


我们都知道一些计算中间的数据集可以进行缓存,缓存到内存中明显要比磁盘中速度要快,Spark SQL可以通过调用spark.catalog.cacheTable(“tableName”)或者df.cache()来使用内存缓存表,然后spark会只扫描需要的列并自动压缩来减少内存和GC使用,可以调用spark.catalog.uncacheTable(“tableName”)从内存中删除该表。

1.1 缓存中的配置如下:

  • spark.sql.inMemoryColumnarStorage.compressedd(默认值为true),设置为true时spark sql会默认的为数据选择压缩方式。

  • Spark.sql.inMemoryColumnarStorage.batchSize(默认值为10000),意思是可以为列缓存设置最大批大小,设置的大可以提高内存利用率和压缩,但是也有可能导致内存溢出。

1.2 缓存中的配置可以通过创建sparkSession时候进行配置,使用方法如下:


02


SQL查询配置选项







03


数据倾斜


SQL查询任务时数据倾斜会严重影响查询速度,数据倾斜就是某个分区数据严重大于其他分区数据,整个任务执行速度是以执行最慢的分区决定,从一开始我们就应该避免数据倾斜的情况产生,如果真的产生了,可以通过将发生数据倾斜的任务拆分成多个任务。

前提是先进行如下配置:

这样spark会动态的将倾斜任务进行拆分。

如果一个分区数据大于spark.sql.adaptive.skewJoin.skewedPartitionThresholdInBytes(默认为256M)且大于spark.sql.adaptive.skewJoin.skewedPartitionFactor(因子默认是5)×中位值分区大小,那么就认为该分区产生了数据倾斜。


04


总  结


在实际使用中,如果遇到需要多次使用的数据集,为了提高效率,我们可以将这些中间数据集缓存到内存中。

如果数据量比较大的时候我们可以根据实际情况进行相应的一些优化项的设置,数据倾斜非常影响数据的查询速度,最好的办法就是避免数据倾斜的产生,这就需要我们指定合理的分区策略,如果真产生了数据倾斜我们可以通过上面的方法进行适当的优化。




end




本文作者:潘宗昊

本文来源:IT那活儿(上海新炬王翦团队)

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/129644.html

相关文章

  • Spark面试题(七)——Spark程序开发调优

    摘要:过程中,各个节点上的相同都会先写入本地磁盘文件中,然后其他节点需要通过网络传输拉取各个节点上的磁盘文件中的相同。因此在过程中,可能会发生大量的磁盘文件读写的操作,以及数据的网络传输操作。Spark系列面试题 Spark面试题(一) Spark面试题(二) Spark面试题(三) Spark面试题(四) Spark面试题(五)——数据倾斜调优 Spark面试题(...

    taowen 评论0 收藏0
  • 数据库

    摘要:编辑大咖说阅读字数用时分钟内容摘要对于真正企业级应用,需要分布式数据库具备什么样的能力相比等分布式数据库,他们条最佳性能优化性能优化索引与优化关于索引与优化的基础知识汇总。 mysql 数据库开发常见问题及优化 这篇文章从库表设计,慢 SQL 问题和误操作、程序 bug 时怎么办这三个问题展开。 一个小时学会 MySQL 数据库 看到了一篇适合新手的 MySQL 入门教程,希望对想学 ...

    mengbo 评论0 收藏0
  • 数据库

    摘要:编辑大咖说阅读字数用时分钟内容摘要对于真正企业级应用,需要分布式数据库具备什么样的能力相比等分布式数据库,他们条最佳性能优化性能优化索引与优化关于索引与优化的基础知识汇总。 mysql 数据库开发常见问题及优化 这篇文章从库表设计,慢 SQL 问题和误操作、程序 bug 时怎么办这三个问题展开。 一个小时学会 MySQL 数据库 看到了一篇适合新手的 MySQL 入门教程,希望对想学 ...

    shuibo 评论0 收藏0

发表评论

0条评论

IT那活儿

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<