如何在Spark 2.0中启用笛卡尔联接?

sks*_*sks 1 apache-spark apache-spark-sql spark-dataframe

我必须在Spark 2.0中交叉加入2个数据帧我遇到以下错误:

用户类抛出异常:

org.apache.spark.sql.AnalysisException: Cartesian joins could be prohibitively expensive and are disabled by default. To explicitly enable them, please set spark.sql.crossJoin.enabled = true; 
Run Code Online (Sandbox Code Playgroud)

请帮我在哪里设置这个配置,我在eclipse中编码.

Pra*_*ode 7

由于错误消息明确指出您需要设置spark.sql.crossJoin.enabled = true为spark配置

您可以设置如下相同的内容:

val sparkConf = new SparkConf().setAppName("Test")
sparkConf.set("spark.sql.crossJoin.enabled", "true")
Run Code Online (Sandbox Code Playgroud)

然后SparkSession通过传递获得或创建SparkConf

val sparkSession = SparkSession.builder().config(sparkConf).getOrCreate()
Run Code Online (Sandbox Code Playgroud)

那你加入......