1

我在一个 ETL 开发团队工作,我们使用 Spark-SQL 来转换数据,方法是按顺序创建和处理几个中间临时视图,最后得到另一个临时视图,然后将其数据复制到目标表文件夹中。
然而,在某些情况下,即使在处理少量记录(<~10K)时,我们的查询也会花费过多的时间,并且我们会在各个方向上争先恐后地寻求帮助。

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

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

请帮忙 !提前致谢..

4

1 回答 1

0

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

  1. 执行者数量
  2. 执行器核心数
  3. 执行器内存

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

  1. 洗牌
  2. 溢出
  3. 分区
  4. 分桶

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

PS:这只是冰山一角!祝你好运

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

在 Facebook 扩展 Spark 工作

加入和洗牌

于 2020-01-16T08:52:55.447 回答