arrays scala casting spark-dataframe apache-spark-2.0

arrays - Cómo lanzar un WrappedArray[WrappedArray[Float]] a Array[Array[Float]] en spark(scala)



casting spark-dataframe (2)

Prueba esto:

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

Compila para mí

Estoy usando Spark 2.0. Tengo una columna de mi marco de datos que contiene un WrappedArray de WrappedArrays of Float.

Un ejemplo de una fila sería:

[[1.0 2.0 2.0][6.0 5.0 2.0][4.0 2.0 3.0]]

Intento transformar esta columna en una Array[Array[Float]] .

Lo que intenté hasta ahora es lo siguiente:

dataframe.select("mycolumn").rdd.map(r => r.asInstanceOf[Array[Array[Float]]])

pero me sale el siguiente error:

Caused by: java.lang.ClassCastException: org.apache.spark.sql.catalyst.expressions.GenericRowWithSchema cannot be cast to [[F

Cualquier idea sería muy apreciada. Gracias


Siguiendo la respuesta de @ sami-badawi, estoy publicando la respuesta para aquellos que, como yo, comenzaron a partir de un marco de datos.

dataframe.select("mycolumn").rdd.map (row => row.get(0).asInstanceOf[WrappedArray[WrappedArray[Float]]].array.map(x=>x.toArray))