我是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);
注意:交叉连接是最耗时的连接之一,通常应该避免。