我有一个块矩阵,想要将它保存在我的本地磁盘上的单个文件中。
val filepath = "hdfs://*********************"
object RowOrdering extends Ordering[IndexedRow] {
def compare(a:IndexedRow, b:IndexedRow) = a.index compare b.index
}
blockmatrix.toIndexedRowMatrix.rows.map(x => x.vector.toDense).coalesce(1, true)(RowOrdering).saveAsTextFile(filepath)
但是在我重新加载文件后
sc.textFile(path).take(1)(0)
它不返回矩阵的第一行。那么,如果仍然保留订单,我怎么能保存这样的矩阵呢?非常感谢!
答案 0 :(得分:0)
我已经明白了。只需使用命令
blockmatrix.toIndexedRowMatrix.rows.sortBy(x => x.index).map(x => x.vector.toDense).saveAsTextFile(filepath)