共计 569 个字符,预计需要花费 2 分钟才能阅读完成。
写这篇博文记录这个问题应该过去几天了,由于xx原因没办法完全导出详细错误日志信息贴出来,下面列出的是简要的报错日志
Caused by: java.lang.ClassCastException: scala.collection.mutable.WrappedArrayofRef cannot be cast to [Lscala.collection.immutable.Map;
atanonfun$1.apply(:42)
… 16 more
我是在处理数据的时候其中有一列的数据是array 列表,然后我再定义 udf 的时候传递的参数类型也是 array<float>
,但是在执行的时候就报错了。
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).
大致的意思就是DataFrame 中的其实与scala中的不太一样,可以借助 Seq 来实现隐式转化。