我目前正在集群中执行K-Means算法。
在相同配置(相同数量的执行程序,RAM,迭代,数据集)下的连续执行之间,任务,作业和阶段的数量可能相差很大。执行任务超过10个,达到标准偏差约500个任务。
这正常吗?在相同的配置下DAG是否应该相同?
我正在使用Scala运行K-Means的Spark实现。
答案 0 :(得分:0)
那是完全正常的行为。
K均值收敛所需的迭代次数取决于质心的初始选择,并且该过程是完全(随机初始模式)或部分(K均值||初始模式)随机的。
由于每次迭代都会触发一个任务(并创建一个单独的DAG),因此阶段数和任务数与满足收敛标准之前执行的迭代数成比例。