我在 spark 中工作,为了使用libraryMatrix
的类,我需要将 a 的内容转换为2D 数组,即.Jama
spark.sql.DataFrame
Array[Array[Double]]
虽然我找到了很多关于如何将数据帧的单列转换为数组的解决方案,但我不明白如何
- 将整个数据帧转换为二维数组(即数组数组);
- 这样做时,将其内容从 long 转换为 Double。
原因是我需要将数据帧的内容加载到 Jama 矩阵中,这需要一个二维数组作为输入:
val matrix_transport = new Matrix(df_transport)
<console>:83: error: type mismatch;
found : org.apache.spark.sql.DataFrame
(which expands to) org.apache.spark.sql.Dataset[org.apache.spark.sql.Row]
required: Array[Array[Double]]
val matrix_transport = new Matrix(df_transport)
编辑: 为了完整起见, df 模式是:
df_transport.printSchema
root
|-- 1_51501_19962: long (nullable = true)
|-- 1_51501_26708: long (nullable = true)
|-- 1_51501_36708: long (nullable = true)
|-- 1_51501_6708: long (nullable = true)
...
具有 165 列相同类型long
。