这个问题在这里已经有答案了:
在Spark SQL中编写SQL与使用Dataframe API(4个答案)
4天前就关门了。
用Dataframe API格式而不是Spark.sql查询编写代码有什么显著的优势吗?
我想知道催化剂优化器是否也会对spark.sql查询起作用。
发布于 2021-02-25 14:36:48
无论您是使用RDD API还是Spark Sql API编写代码,在性能方面都没有显著差异,因为DataFrame api和spark sql api都是dataframe (弹性分布式数据集)之上的抽象。
Catalyst Optimizer优化结构化查询-以SQL表示,或通过DataFrame/Dataset APIs这可以减少程序的运行时间并节省成本。
为了回答你的问题,Catalyst Optimizer可以在Spark sql和Dataframe/Dataset Apis上工作。
如果你想更详细地了解内部机制以及它是如何工作的,你可以查看这篇详细解释它的文章。
https://unraveldata.com/resources/catalyst-analyst-a-deep-dive-into-sparks-optimizer/
https://stackoverflow.com/questions/66356293
复制相似问题