8

我正在使用 Spark 2.0。我的数据框有一列包含WrappedArrayFloat 的 WrappedArrays。

行的一个例子是:

[[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

任何想法将不胜感激。谢谢

4

2 回答 2

4

尝试这个:

  val wawa: WrappedArray[WrappedArray[Float]] = null 
  val res: Array[Array[Float]] = wawa.map(inner => inner.array).toArray

它为我编译

于 2017-01-28T02:56:04.430 回答
3

在@sami-badawi 的回答之后,我为像我这样从数据框开始的人发布了答案。

dataframe.select("mycolumn").rdd.map
(row => row.get(0).asInstanceOf[WrappedArray[WrappedArray[Float]]].array.map(x=>x.toArray))
于 2017-01-30T19:09:33.617 回答