首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Spark SQL中使用交叉连接和交叉应用

如何在Spark SQL中使用交叉连接和交叉应用
EN

Stack Overflow用户
提问于 2016-11-23 19:46:56
回答 2查看 21.9K关注 0票数 4

我是Spark和Scala的新手,我编写Spark SQL代码。我在我的逻辑中应用交叉连接和交叉应用的情况。在这里,我将发布SQL查询,我必须将其转换为spark SQL。

代码语言:javascript
复制
select Table1.Column1,Table2.Column2,Table3.Column3
from Table1 CROSS JOIN Table2 CROSS APPLY Table3

我需要上面的查询转换成Spark SQL中的SQLContext。请帮帮我。提前谢谢。

EN

回答 2

Stack Overflow用户

发布于 2016-11-23 19:56:11

首先在spark conf中设置以下属性

代码语言:javascript
复制
spark.sql.crossJoin.enabled=true

然后dataFrame1.join(dataFrame2)将进行交叉/笛卡尔连接,

我们也可以使用下面的查询来做同样的事情

代码语言:javascript
复制
sqlContext.sql("select * from table1 CROSS JOIN table2 CROSS JOIN table3...")
票数 9
EN

Stack Overflow用户

发布于 2018-11-20 18:49:41

设置Spark配置,

代码语言:javascript
复制
var sparkConf: SparkConf = null

 sparkConf = new SparkConf()

.set("spark.sql.crossJoin.enabled", "true")

使用crossJoin方法在spark 2.x中显式交叉连接

crossJoin(右: Dataset_):DataFrame

代码语言:javascript
复制
var df_new = df1.crossJoin(df2);

注意:交叉连接是最耗时的连接之一,通常应该避免。

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

https://stackoverflow.com/questions/40763682

复制
相关文章

相似问题

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