我使用 Spark 2.0。我有一列数据帧,其中包含一WrappedArray
浮点包装数组。
行的示例如下:
[[1.0 2.0 2.0][6.0 5.0 2.0][4.0 2.0 3.0]]
我试图将此列转换为Array[Array[Float]]
.
到目前为止,我尝试了以下内容:
dataframe.select("mycolumn").rdd.map(r => r.asInstanceOf[Array[Array[Float]]])
但我收到以下错误:
Caused by: java.lang.ClassCastException:
org.apache.spark.sql.catalyst.expressions.GenericRowWithSchema cannot be cast to [[F
任何想法将不胜感激。谢谢
试试这个:
val wawa: WrappedArray[WrappedArray[Float]] = null
val res: Array[Array[Float]] = wawa.map(inner => inner.array).toArray
它为我编译
按照@sami-badawi的回答,我为像我这样从数据帧开始的人发布答案。
dataframe.select("mycolumn").rdd.map
(row => row.get(0).asInstanceOf[WrappedArray[WrappedArray[Float]]].array.map(x=>x.toArray))