问题 WrappedArray$ofRef cannot be cast to [Ljava.lang.String

注册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)
    }

版权声明:本文为qq_24393347原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。