Spark 2.0中的全阶段代码生成

时间:2016-11-11 19:22:50

标签: apache-spark apache-spark-sql

我听说过Whole-Stage Code Generation sql来优化查询。 通过p539-neumann.pdf& sparksql-sql-codegen-is-not-giving-any-improvemnt

但遗憾的是,没有人回答上述问题。

很想知道使用Spark 2.0这个功能的场景是什么。但谷歌搜索后没有得到正确的用例。

每当我们使用sql时,我们可以使用此功能吗?如果是这样,任何正确的用例看到这个工作?

1 个答案:

答案 0 :(得分:9)

使用Spark 2.0时,默认情况下启用代码生成。这允许您能够利用性能改进的大多数DataFrame查询。有一些潜在的例外,例如使用可能减慢速度的Python UDF。

代码生成是Spark SQL引擎的Catalyst Optimizer的主要组件之一。简而言之,Catalyst Optimizer引擎执行以下操作: (1)分析解决引用的逻辑计划, (2)逻辑计划优化 (3)物理规划,和 (4)代码生成

enter image description here

所有这些的一个很好的参考是博客文章

HTH!