答案 0 :(得分:1)
KMeansModel.clusterCenters
只是一个本地数据结构(Scala / Java中的Array[Vector]
,Python中的NumPy数组列表)。这意味着您可以使用标准JSON处理库。例如,使用Python:
import json
json.dumps({"centers": [list(x) for x in clusters.clusterCenters]})
如果JSONL可以接受,您还可以并行化中心并使用DataFrameWriter.write.json
。
val clusters: org.apache.spark.mllib.clustering.KMeansModel = ???
sc.parallelize(clusters.clusterCenters.zipWithIndex, 1)
.toDF("center", "id")
.write.json("centers.jsonl")