【发布时间】:2018-01-14 17:12:52
【问题描述】:
我需要将带有字符串列的数据框与带有字符串数组的数据框连接起来,这样如果数组中的一个值匹配,行就会连接起来。
我试过了,但我猜它不支持。 还有其他方法吗?
import org.apache.spark.SparkConf
import org.apache.spark.sql.SparkSession
val sparkConf = new SparkConf().setMaster("local[*]").setAppName("test")
val spark = SparkSession.builder().config(sparkConf).getOrCreate()
import spark.implicits._
val left = spark.sparkContext.parallelize(Seq(1, 2, 3)).toDF("col1")
val right = spark.sparkContext.parallelize(Seq((Array(1, 2), "Yes"),(Array(3),"No"))).toDF("col1", "col2")
left.join(right,"col1")
投掷:
org.apache.spark.sql.AnalysisException: 无法解析 '(
中的不同类型col1=col1)' 由于数据 类型不匹配:'(col1=
col1)'(整数和数组)。;;
【问题讨论】:
标签: scala apache-spark apache-spark-sql