我尝试使用spark mllib kmeans,但是工作挂在舞台“collectAsMap at KMeans.scala:302”。我的代码是由python编写的。 有人可以告诉我每个阶段发生了什么,例如“在KMeans.scala收集:436”,“在KMeans.scala聚集:404”,“在KMeans.scala收集地图:302” here is the jobs picture
答案 0 :(得分:0)
K-means是一种迭代算法,其中在每个迭代点中将点分配给最近的质心,并且基于所分配的点更新质心。重复该过程直到满足某个质量度量。使用多种可能的方法之一计算初始质心,包括随机质心和K均值||。
在Spark中,每次迭代都包含计算新质心的聚合和collectAsMap
,其中数据被提取到驱动程序并广播以用于下一次迭代。
第二部分对应于使用K-means ||
的并行初始化