arrays - spark - 스파크(스칼라)에서 WrappedArray[WrappedArray[Float]]를 Array[Array[Float]]로 캐스팅하는 방법
spark scala wrappedarray (2)
Spark 2.0을 사용하고 있습니다. 나는 WrappedArrays of Float의 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))