首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Dataframe API与Spark.sql [重复]

Dataframe API与Spark.sql [重复]
EN

Stack Overflow用户
提问于 2021-02-25 01:55:37
回答 3查看 626关注 0票数 0

这个问题在这里已经有答案了:

在Spark SQL中编写SQL与使用Dataframe API(4个答案)

4天前就关门了。

用Dataframe API格式而不是Spark.sql查询编写代码有什么显著的优势吗?

我想知道催化剂优化器是否也会对spark.sql查询起作用。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-02-25 07:32:37

您的数据帧转换和spark sql查询将被转换为执行计划,Catalyst将对其进行优化。

dataframe api的主要优点是您可以使用dataframe优化函数,例如:cache(),一般情况下,您将对执行计划有更多的控制。

我觉得测试你的代码也更容易,人们倾向于写一个巨大的查询……

票数 1
EN

Stack Overflow用户

发布于 2021-02-25 10:31:27

Spark SQL、Scala Dataframe和PySpark Dataframe apis的优化器是相同的。

票数 1
EN

Stack Overflow用户

发布于 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/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66356293

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档