Sti*_*ijn 9 apache-spark google-cloud-dataproc
我正在使用Spark 2.0.0的"预览"Google DataProc Image 1.1.为了完成我的一项操作,我必须完成一个笛卡尔积.从版本2.0.0开始,创建了一个spark配置参数(spark.sql.cross Join.enabled),禁止使用笛卡尔积,并抛出异常.如何设置spark.sql.crossJoin.enabled = true,最好是使用初始化操作?
spark.sql.crossJoin.enabled=true
zer*_*323 20
Spark 2.1+
你可以使用spark.sql.crossJoin.enable:
df1.crossJoin(df2)
Run Code Online (Sandbox Code Playgroud)
它使您的意图明确,并保持更加保守的配置,以保护您免受意外的交叉连接.
Spark 2.0
SQL属性可以在运行时使用crossJoin方法动态设置,因此您应该能够调用
spark.conf.set("spark.sql.crossJoin.enabled", true)
Run Code Online (Sandbox Code Playgroud)
无论何时你想明确允许笛卡尔积.
要更改 Dataproc 中配置设置的默认值,您甚至不需要 init 操作,您可以在从命令行创建集群时使用--properties 标志:
gcloud dataproc clusters create --properties spark:spark.sql.crossJoin.enabled=true my-cluster ...
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8449 次 |
| 最近记录: |