Mir*_*han 4 scala apache-spark apache-spark-sql
我对 Spark 和 Scala 很陌生,我正在编写 Spark SQL 代码。我可以在我的逻辑中应用 CROSS JOIN 和 CROSS APPLY。在这里,我将发布必须转换为 Spark SQL 的 SQL 查询。
select Table1.Column1,Table2.Column2,Table3.Column3
from Table1 CROSS JOIN Table2 CROSS APPLY Table3
Run Code Online (Sandbox Code Playgroud)
我需要将上述查询转换为 Spark SQL 中的 SQLContext。请帮助我。提前致谢。
小智 8
首先在 spark conf 中设置以下属性
spark.sql.crossJoin.enabled=true
Run Code Online (Sandbox Code Playgroud)
然后dataFrame1.join(dataFrame2)将做交叉/笛卡尔连接,
我们也可以使用下面的查询来做同样的事情
sqlContext.sql("select * from table1 CROSS JOIN table2 CROSS JOIN table3...")
Run Code Online (Sandbox Code Playgroud)
设置 Spark 配置,
var sparkConf: SparkConf = null
sparkConf = new SparkConf()
.set("spark.sql.crossJoin.enabled", "true")
Run Code Online (Sandbox Code Playgroud)
使用 crossJoin 方法在 Spark 2.x 中显式交叉连接
crossJoin(右:数据集[_]):DataFrame
var df_new = df1.crossJoin(df2);
Run Code Online (Sandbox Code Playgroud)
注意:交叉连接是最耗时的连接之一,通常应该避免。
| 归档时间: |
|
| 查看次数: |
20327 次 |
| 最近记录: |