gpt4 book ai didi

scala - Spark 中 Stage 的详细信息

转载 作者:可可西里 更新时间:2023-11-01 14:25:55 26 4
gpt4 key购买 nike

我正在尝试使用 spark-shellDataFrame 保存为 HDFS 中的文本文件。

scala> finalDataFrame.rdd.saveAsTextFile(targetFile)

执行上述代码后,我发现 spark 在内部使用阶段做了一些工作。

[Stage 13:================================> (119 + 8) / 200]

我想了解这个过程的基本细节。但不能这样做。我的问题是 -

  1. 什么是第 13 阶段
  2. 什么是(119+8)/200

[Stage 18:=============>(199 + 1) / 200][Stage 27:============> (173 + 3) / 200]

  1. 这行是什么意思。
  2. 以前只有 1 个阶段在工作,但在这里我发现有 2 个阶段在工作。因此,当多个阶段并行工作时?

最佳答案

[Stage 13:================================> (119 + 8) / 200]

  1. What is Stage 13?

每个 Spark 作业都分为多个阶段。本例中的作业是将 DataFrame 保存为文本文件,“第 13 阶段”是该作业的多个阶段之一。

  1. What is (119+8)/200?

检查 source code可以帮助回答这个问题:

val bar = stages.map { s =>
val total = s.numTasks()
val header = s"[Stage ${s.stageId()}:"
val tailer = s"(${s.numCompletedTasks()} + ${s.numActiveTasks()}) / $total]"
...
}.mkString("")

每个阶段都分为任务。 119 是该阶段(即阶段 13)完成的任务数,8 是该阶段的事件任务数,200 是这个阶段的任务总数。

[Stage 18:=============>(199 + 1) / 200][Stage 27:============> (173 + 3) / 200]

  1. Here what is the meaning of this line.
  2. Previously only 1 stage was working, but here I can found 2 stages are working. Hence when multiple stage are working in parallel?

同样,查看源代码(herehere)很有用:

/** ...If multiple stages run in the same time, the status
* of them will be combined together, showed in one line.
*/

...

if (stages.length > 0) {
show(now, stages.take(3)) // display at most 3 stages in same time
}

stages是并发运行的,所以在进度条刷新的时间窗口内,可能有多个stages在运行。在这种情况下,阶段 18 和 27 同时运行。该代码将显示限制为三个同时运行的任务。

关于scala - Spark 中 Stage 的详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46297843/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com