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 性能调优的主要内容,如果未能解决你的问题,请参考以下文章