0
是否存在推薦/被證明是有效的格式或機制來在Apache Spark中保留DenseMatrix?或者我應該把它寫入一個文件?在Apache Spark中堅持使用DenseMatrix
我正在生成一個DenseMatrix發佈SVD操作,並且需要在用戶查詢進來時引用它,因此經常會查找它。
任何幫助將不勝感激。
是否存在推薦/被證明是有效的格式或機制來在Apache Spark中保留DenseMatrix?或者我應該把它寫入一個文件?在Apache Spark中堅持使用DenseMatrix
我正在生成一個DenseMatrix發佈SVD操作,並且需要在用戶查詢進來時引用它,因此經常會查找它。
任何幫助將不勝感激。
如果通過DenseMatrix
您的意思是org.apache.spark.mllib.linalg.DenseMatrix
(V)它是一個本地數據結構,並沒有Spark特定的方式來處理這種類型的對象。
一個來處理它的方式是直接寫一個序列化對象文件:
val oos = new java.io.ObjectOutputStream(
new java.io.FileInputStream("/tmp/foo")))
oos.writeObject(svd.V)
oos.close()
,然後再使用FileInputStream
和ObjectInputStream.readObject
閱讀。您還可以使用JSON等您選擇的人類可讀序列號:
import net.liftweb.json.{NoTypeHints, Serialization}
import net.liftweb.json.Serialization.{read, write}
implicit val formats = Serialization.formats(NoTypeHints)
val serialized: String = write(svd.V)
// Write to file and read if needed
...
// Deserialize
val deserialized = read[DenseMatrix](serialized)