首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Spark中使用Dataframe编写SQL

在Spark中使用Dataframe编写SQL
EN

Stack Overflow用户
提问于 2017-08-01 06:49:52
回答 4查看 27.8K关注 0票数 43

我是Spark世界的新手。我目前正在迁移我的应用程序的摄取代码,其中包括在HDFS中摄取数据,在HDFS中使用原始数据和应用层,并执行CDC(变更数据捕获),这是目前在Hive查询中编写的,并通过Oozie执行。这需要迁移到Spark应用程序(当前版本1.6)中。代码的另一部分稍后将迁移。

在spark中,我可以直接从Hive中的表创建数据格式,只需按原样执行查询(如sqlContext.sql("my hive hql") )。另一种方法是使用dataframe并以这种方式重写hql。

这两种方法有什么不同?

使用Dataframe有什么性能提高吗?

有些人认为,在直接使用" SQL“查询时,会有一个额外的SQL层触发核心引擎,这可能会在一定程度上影响性能,但我没有找到任何能证实这一说法的材料。我知道代码将与Datafrmae紧密得多,但是当我使用hql查询时,是否值得将完整的代码写入Dataframe?

谢谢。

EN

Stack Overflow用户

回答已采纳

发布于 2021-01-16 11:55:59

再加几个。dataframe使用钨内存表示、sql使用的催化剂优化器以及Dataframe。使用Dataset API,您比使用SparkSQL对实际执行计划有更多的控制。

票数 2
EN
查看全部 4 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45430816

复制
相关文章

相似问题

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