【发布时间】:2016-10-16 19:36:42
【问题描述】:
我正在将 (Java) Spark Dataframe 写入 json。其中一列是 mllib 稀疏向量。后来我将 json 文件读入第二个数据帧,但稀疏向量列现在是 WrappedArray,并且在第二个数据帧中没有被读取为稀疏向量。我的问题:为了获得稀疏向量列而不是 WrappedArray 列,我可以在写入端或读取端做些什么吗?
写作:
initialDF.coalesce(1).write().json("initial_dataframe");
阅读:
DataFrame secondDF = hiveContext.read().json("initial_dataframe");
【问题讨论】:
-
向量是否可序列化?
-
矢量内容(大小、索引、值)在结果文件中可以看到正确写入,但没有提及 SparseVector 或 Vector (org.apache.spark.mllib.linalg.向量)
-
扩展向量并实现您自己的属性,使其可以序列化和反序列化为 json。
-
我认为它已经可以序列化了:见here。
标签: java apache-spark apache-spark-sql apache-spark-mllib