我正在使用“预览”Google DataProc Image 1.1 和 Spark 2.0.0。为了完成我的一项操作,我必须完成笛卡尔积。从2.0.0版本开始,创建了一个spark配置参数(spark.sql.cross Join.enabled),该参数禁止笛卡尔积并抛出异常。如何设置spark.sql.crossJoin.enabled=true,最好通过使用初始化操作?spark.sql.crossJoin.enabled=true
火花 >= 3.0
spark.sql.crossJoin.enable
默认为 true (SPARK-28621 https://issues.apache.org/jira/browse/SPARK-28621).
火花 >= 2.1
您可以使用crossJoin
:
df1.crossJoin(df2)
它使您的意图明确,并保持更保守的配置,以保护您免受意外交叉连接的影响。
火花2.0
SQL 属性可以在运行时动态设置RuntimeConfig.set
方法,所以你应该能够调用
spark.conf.set("spark.sql.crossJoin.enabled", true)
每当您想明确允许笛卡尔积时。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)