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

3,002次阅读
没有评论

共计 569 个字符,预计需要花费 2 分钟才能阅读完成。

写这篇博文记录这个问题应该过去几天了,由于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 来实现隐式转化。

正文完
请博主喝杯咖啡吧!
post-qrcode
 
admin
版权声明:本站原创文章,由 admin 2021-03-06发表,共计569字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码