Spark SQL 性能调优

Posted

技术标签:

【中文标题】Spark SQL 性能调优【英文标题】:Spark SQL Performance Tuning 【发布时间】:2019-06-27 13:14:36 【问题描述】:

我在一个 ETL 开发团队工作,我们使用 Spark-SQL 来转换数据,方法是按顺序创建和处理多个中间临时视图,最后得到另一个临时视图,然后将其数据复制到目标表文件夹中。 但是,在某些情况下,即使在处理少量记录(

因此,我想详细了解和了解 (例如幕后、架构,最重要的是 - 解释解释计划等),这将有助于我学习并为该主题打下坚实的基础。我过去有使用 RDBMS(Teradata、Oracle 等)进行性能调整的经验。

因为,我对此很陌生,任何人都可以为我指出正确的方向,在那里我可以找到关于这个主题的书籍、教程、课程等。我搜索了互联网,甚至搜索了几个在线学习平台,但找不到任何全面的教程或资源来学习这个。

请帮忙! 提前谢谢..

【问题讨论】:

【参考方案1】:

我不会详细介绍,因为它们可能非常全面。在调整工作时,您应该考虑一些概念。

    执行者数量 执行器核心数 执行程序内存

以上 3 件事直接影响您的应用程序实现的并行度。

    洗牌 溢出 分区 分桶

以上对于您的数据 w.r.t 存储和格式很重要。

P.S:这只是冰山一角!祝你好运

我附上了一些链接,这些链接涉及扩展 Spark 作业。这可能是一个不错的起点。

Scaling Spark Jobs At Facebook

Joins and Shuffling

【讨论】:

以上是关于Spark SQL 性能调优的主要内容,如果未能解决你的问题,请参考以下文章

2022-02-24-Spark-44(性能调优通用调优)

Spark SQL 性能调优

[大数据性能调优] 第一章:性能调优的本质Spark资源使用原理和调优要点分析

Spark性能调优篇七之JVM相关参数调整

Spark性能调优——扩展篇

性能提升60%↑ 成本降低50%↓ 个推分享Spark性能调优实战经验