123 通常,这意味着已经从缓存中获取了数据,并且无需重新执行给定的阶段。它与您的DAG一致,它表明下一阶段需要改组(reduceByKey)。每当涉及改组时,Spark都会自动缓存生成的数据: 随机播放还会在磁盘上生成大量中间文件。从Spark 1.3开始,将保留这些文件,直到不再使用相应的RDD并进行垃圾回收为止。这样做是为了在重新计算沿袭时无需重新创建随机文件。 — 零323 source 21 好答案。如果要在Web UI上找到有关“跳过”和“待定”阶段的语义的更多方法,请查看github.com/apache/spark/pull/3009,该请求首先引入了这些概念。如果您对跳过/挂起的阶段如何与作业级进度栏交互感到好奇,则该PR也很有趣。 — 乔什·罗森 1 如果我正确地遵循,Spark跳过这些意味着它们不会发生,并且可以将它们一起从代码中删除?还是代码在缓存中非常高效,所以离开了吗?@ zero323 — SparkleGoat 1 @SparkleGoat编号。这意味着这些阶段之前已进行过评估,结果可直接使用而无需重新执行。 — 10465355说,恢复莫妮卡 另一个问题,缓存和跳过阶段可以使输出数据有所不同吗? — SparkleGoat @SparkleGoat,不进行缓存(因此不进行跳过)是内部火花优化,并且不会以任何方式更改输出数据。 — 拉维·桑瓦尔