什么是Apache Spark(SQL)中的Catalyst Optimizer?

时间:2019-05-18 08:07:50

标签: pyspark pyspark-sql

我想了解有关Apache PySpark(SQL)中的Catalyst Optimizer的更多信息。是否可以在pyspark数据帧中使用Catalyst Optimizer。

2 个答案:

答案 0 :(得分:0)

Catalyst Optimizer是Spark的内部SQL引擎。 Spark Dataframe使用引擎盖下的Catalyst Optimizer来构建查询计划,以最佳地决定应如何在整个集群中执行代码以扩展性能,等等。这里有一些不错的读物,而不是散布/写一些具体的文章。享受吧!

https://databricks.com/glossary/catalyst-optimizer

答案 1 :(得分:0)

使用SQL创建的数据框可以利用Spark Catalyst框架。 使用pyspark(假设变量spark绑定到SparkSession),我们可以调用类似的SQL

spark.sql(<sql>)

这将由Catalyst框架进行分析,优化和制定物理计划。

如果数据帧是像spark.table<>.sort(<col>)这样的手工构造的,则Spark催化剂不会起作用。 如果我们要为非Metastore支持的表的数据框使用Catalyst框架,则可以将其注册为临时表,并使用SQL触发查询。