将 K-means 集群信息 Apache Spark 提取到 JSON

Extract K-means cluster information Apache Spark into JSON

我将在 Spark 上实施 k-means。但我需要存储在 JSON 中的集群信息。怎么做到的?

注意:Python 或者 Scala 也可以。

提前致谢!

KMeansModel.clusterCenters只是一个本地数据结构(Scala中的Array[Vector]/Java,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")