在相同配置下执行 Spark 应用程序时,任务数、阶段数和作业数是否不同?
Does the number of tasks, stages and jobs vary when executing a Spark application under the same configuration?
我目前正在集群中执行 K-Means 算法。
在相同配置(相同数量的执行程序、RAM、迭代、数据集)下连续执行之间,任务、作业和阶段的数量可能会有很大差异。超过 10 次执行任务的数量达到了大约 500 个任务的标准偏差。
这正常吗?同样的配置下DAG不应该是一样的吗?
我是 运行 使用 Scala 实现 K-Means 的 Spark。
这是完全正常的行为。
K-Means收敛所需的迭代次数取决于质心的初始选择,并且该过程是完全(随机初始化模式)或部分(K-Means || 初始化模式)随机的。
由于每次迭代都会触发一个作业(并创建一个单独的 DAG),因此阶段数和任务数与满足收敛标准之前执行的迭代数成正比。
我目前正在集群中执行 K-Means 算法。
在相同配置(相同数量的执行程序、RAM、迭代、数据集)下连续执行之间,任务、作业和阶段的数量可能会有很大差异。超过 10 次执行任务的数量达到了大约 500 个任务的标准偏差。
这正常吗?同样的配置下DAG不应该是一样的吗?
我是 运行 使用 Scala 实现 K-Means 的 Spark。
这是完全正常的行为。
K-Means收敛所需的迭代次数取决于质心的初始选择,并且该过程是完全(随机初始化模式)或部分(K-Means || 初始化模式)随机的。
由于每次迭代都会触发一个作业(并创建一个单独的 DAG),因此阶段数和任务数与满足收敛标准之前执行的迭代数成正比。