spark udf调用的时候遇到的一个问题

2,701次阅读
没有评论

写这篇博文记录这个问题应该过去几天了,由于xx原因没办法完全导出详细错误日志信息贴出来,下面列出的是简要的报错日志

Caused by: java.lang.ClassCastException: scala.collection.mutable.WrappedArrayofRef cannot be cast to [Lscala.collection.immutable.Map;
at
anonfun$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 来实现隐式转化。

 
admin
版权声明:本站原创文章,由 admin 2021-03-06发表,共计569字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)