【发布时间】:2015-10-29 06:49:02
【问题描述】:
我想了解有关 Spark 流执行的内部机制。
如果我有一个流 X,并且在我的程序中我将流 X 发送到函数 A 和函数 B:
在函数 A 中,我在 X->Y->Z 上执行了一些变换/过滤操作等以创建流 Z。现在我在 Z 上执行 forEach 操作并将输出打印到文件中。
然后在函数 B 中,我减少流 X -> X2(例如每个 RDD 的最小值),并将输出打印到文件
每个 RDD 是否都并行执行这两个函数?它是如何工作的?
谢谢
--- 来自 Spark 社区的评论----
我正在添加来自 spark 社区的 cmets -
如果您在驱动程序中的两个线程中执行收集步骤(foreach 在 1 中,可能在 2 中减少),那么它们都将并行执行。无论哪个先提交给 Spark,都会先执行 - 如果您需要确保执行顺序,您可以使用信号量,但我认为顺序无关紧要。
【问题讨论】:
标签: apache-spark spark-streaming