我想了解有关Apache PySpark(SQL)中的Catalyst Optimizer的更多信息。是否可以在pyspark数据帧中使用Catalyst Optimizer。
答案 0 :(得分:0)
Catalyst Optimizer是Spark的内部SQL引擎。 Spark Dataframe使用引擎盖下的Catalyst Optimizer来构建查询计划,以最佳地决定应如何在整个集群中执行代码以扩展性能,等等。这里有一些不错的读物,而不是散布/写一些具体的文章。享受吧!
答案 1 :(得分:0)
使用SQL创建的数据框可以利用Spark Catalyst框架。
使用pyspark(假设变量spark
绑定到SparkSession
),我们可以调用类似的SQL
spark.sql(<sql>)
这将由Catalyst框架进行分析,优化和制定物理计划。
如果数据帧是像spark.table<>.sort(<col>)
这样的手工构造的,则Spark催化剂不会起作用。
如果我们要为非Metastore支持的表的数据框使用Catalyst框架,则可以将其注册为临时表,并使用SQL触发查询。