【发布时间】:2018-11-05 00:28:15
【问题描述】:
我创建了一个 spark Dataset[Row],Row 是 Row(x: Vector)。 x 这里是一个 1xp 向量。
是否可以 1) 将每 k 行分组 2) 将这些行连接成一个 k x p 矩阵 - mX 即,将 Dateset[Row(Vector)] 更改为 Dateset[Row(Matrix)] ?
这是我目前的解决方案,将此 Dataset[Row] 转换为 RDD,并使用 zipWithIndex 和 aggregateByKey 连接每 k 行。
val dataRDD = data_df.rdd.zipWithIndex
.map { case (line, index) => (index/k, line) }
.aggregateByKey(...) (..., ...)
但是好像效率不是很高,有没有更高效的方法呢?
提前致谢。
【问题讨论】:
标签: apache-spark dataset rdd