【问题标题】:K-Means calculation on a distributed computation分布式计算上的 K-Means 计算
【发布时间】:2014-05-20 08:54:18
【问题描述】:

我在 scala 0.9.0 上运行 k-means 聚类,我试图了解数据如何在 n 个系统之间分布以计算 k 个中心数据点。

我了解什么是 k-means 聚类,但我想知道如何划分数据以及如何在分布式计算(map 和 reduce)上进行计算。在这个 scala 版本中,KMeansDataGenerator 可以选择将数据点生成到 n 个分区中。每个从节点是否得到一个数据文件分区?

【问题讨论】:

    标签: k-means apache-spark


    【解决方案1】:

    KMeansDataGenerator 使用sc.parallelize 生成数据。 sc.parallelize中有一个参数是分区号。您可以通过KMeansDataGenerator的选项进行更改。

    之后,SparkKMeans 将在整个 k-means 算法中使用这个分区号。

    每个从节点是否得到一个数据文件分区?

    Spark 不保证分区的位置。但是,它会尝试将计算安排到最近的具有分区文件的节点。

    【讨论】:

    • "每个从节点是否得到一个分区的数据文件?"每个节点可以得到许多分区——每个任务得到一个分区。
    猜你喜欢
    • 2011-10-02
    • 2016-04-15
    • 2020-07-23
    • 2013-09-12
    • 2015-07-04
    • 2013-02-02
    • 2016-10-16
    • 1970-01-01
    相关资源
    最近更新 更多