gpt4 book ai didi

apache-spark - Apache Spark : Dag is not executed twice for reduceByKey

转载 作者:行者123 更新时间:2023-12-04 04:17:26 25 4
gpt4 key购买 nike

有一个简单但可能很奇怪的问题:对于以下代码,DAG 执行了两次,这是预期的,因为我调用了两次操作:

val input = sc.parallelize(List(1,2,3,4))
val result = input.map(x => {
println("!!! Input Map !!!")
errorLines.add(1)
(x,1)
})
//.reduceByKey(_+_)
println(result.count())
println(result.collect())

如果我取消注释 reduceByKey 行 - DAG 将只执行一次,尽管 reduceByKey 是转换并且我调用了两次 Action 。

这是否意味着 Spark 并不总是重新计算 DAG?

最佳答案

Spark 中的 Shuffle 文件用作隐式缓存,因此只要您的管道包含一个 shuffle 阶段(如 *ByKey),并且涉及节点故障,Spark 将仅重复最后一个阶段。

据说在转换中既不使用标准输出,也不使用累加器 errorLines 是可靠的。正常执行时,前者会丢失,后者不提供exactly once保证。

What does "Stage Skipped" mean in Apache Spark web UI?相关

关于apache-spark - Apache Spark : Dag is not executed twice for reduceByKey,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44888571/

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