注册udf函数
val addArray = (a:Array[String],b:Array[String])=>{
Array.concat(a, b)
}
udf 函数功能把两个数组合并为一个数组,
错误日志
scala.collection.mutable.WrappedArray$ofRef cannot be cast to [Ljava.lang.String;
找到官网的解释:So it looks like the ArrayType on Dataframe “idDF” is really a WrappedArray and not an Array - So the function call to “filterMapKeysWithSet” failed as it expected an Array but got a WrappedArray/ Seq instead (which doesn’t implicitly convert to Array in Scala 2.8 and above
意思是:他看起来是一个数组类型,但不是java的数组类型。
解决办法
val addArray = (a:Seq[String],b:Seq[String])=>{
Seq.concat(a, b)
}