在Apache Spark Web UI中“跳过阶段”是什么意思?


Answers:


123

通常,这意味着已经从缓存中获取了数据,并且无需重新执行给定的阶段。它与您的DAG一致,它表明下一阶段需要改组(reduceByKey)。每当涉及改组时,Spark都会自动缓存生成的数据

随机播放还会在磁盘上生成大量中间文件。从Spark 1.3开始,将保留这些文件,直到不再使用相应的RDD并进行垃圾回收为止。这样做是为了在重新计算沿袭时无需重新创建随机文件。


21
好答案。如果要在Web UI上找到有关“跳过”和“待定”阶段的语义的更多方法,请查看github.com/apache/spark/pull/3009,该请求首先引入了这些概念。如果您对跳过/挂起的阶段如何与作业级进度栏交互感到好奇,则该PR也很有趣。
乔什·罗森

1
如果我正确地遵循,Spark跳过这些意味着它们不会发生,并且可以将它们一起从代码中删除?还是代码在缓存中非常高效,所以离开了吗?@ zero323
SparkleGoat

1
@SparkleGoat编号。这意味着这些阶段之前已进行过评估,结果可直接使用而无需重新执行。
10465355说,恢复莫妮卡

另一个问题,缓存和跳过阶段可以使输出数据有所不同吗?
SparkleGoat

@SparkleGoat,不进行缓存(因此不进行跳过)是内部火花优化,并且不会以任何方式更改输出数据。
拉维·桑瓦尔
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.