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



我是Spark和Scala的新手,我写了Spark SQL代码。我处于逻辑上应用交叉加入并应用交叉应用。在这里,我将发布必须转换为Spark SQL的SQL查询。

select Table1.Column1,Table2.Column2,Table3.Column3
from Table1 CROSS JOIN Table2 CROSS APPLY Table3

我需要上述查询才能转换为Spark SQL中的SQLContext。请帮助我。提前致谢。

首先设置Spark Conf

中的以下属性
spark.sql.crossJoin.enabled=true

然后dataFrame1.join(dataFrame2)将进行跨/笛卡尔加入,

我们也可以使用以下查询进行相同的

sqlContext.sql("select * from table1 CROSS JOIN table2 CROSS JOIN table3...")

设置火花配置,

var sparkConf: SparkConf = null
 sparkConf = new SparkConf()
.set("spark.sql.crossJoin.enabled", "true")

使用CrossJoin方法在Spark 2.x中明确连接

crossjoin(右:dataset [_]):dataframe

var df_new = df1.crossJoin(df2);

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

相关内容

  • 没有找到相关文章

最新更新