row.getList java.lang.ClassCastException:java.math.BigDecimal不能转换为scala.collection.Seq
问题描述:
我试图用下面的schema元素从一行中检索一个列表。row.getList java.lang.ClassCastException:java.math.BigDecimal不能转换为scala.collection.Seq
[info] |-- ARRAY_FIELD: array (nullable = false)
[info] | |-- element: string (containsNull = false)
当使用
row.getAs[WrappedArray[String]]("ARRAY_FIELD")
我得到以下结果打印
WrappedArray(Some String value)
但是,当我试图在该索引处作为使用列表 打印数据....
row.getList(0)
我得到以下例外
java.lang.ClassCastException: java.math.BigDecimal cannot be cast to scala.collection.Seq
有没有人有任何想法,为什么发生这种情况,以及如何解决?
答
我实际上是从模式中的错误索引拉。我认为getList的索引是基于使用df.printSchema时显示的元素的索引。但是我错了。关闭6个位置。
您可以添加打印模式 –
第一个代码块具有printSchema –
您的架构的结果不包含类型的任何字段'BigDecimal'请再次检查 –