gpt4 book ai didi

mapreduce - Apache Spark 中的驱动程序何时不会运行某个操作?

转载 作者:行者123 更新时间:2023-12-02 23:06:46 26 4
gpt4 key购买 nike

我刚刚开始使用 Spark,并且一直在努力理解任务的概念。

任何人都可以帮助我理解什么时候驱动程序中不运行某个操作(例如减少)。

来自 Spark 教程,

"Aggregate the elements of the dataset using a function func (which takes two arguments and returns one). The function should be commutative and associative so that it can be computed correctly in parallel. "

我目前正在试验一个应用程序,该应用程序读取“n”个文件的目录并计算单词数。

从 Web UI 中,任务数量等于文件数量。所有的reduce 函数都在驱动节点上进行。

您能告诉我们一个在驱动程序中不执行reduce函数的场景吗?任务是否始终包含“转换+操作”或仅包含“转换”

最佳答案

所有操作都在集群上执行,操作的结果可能最终到达驱动程序(取决于操作)。

一般来说,您围绕业务逻辑编写的 Spark 代码并不是实际运行的程序 - 相反,Spark 使用它来创建一个计划,该计划将在集群中执行您的代码。该计划创建了一个可以在分区上完成的所有操作的任务,而无需重新整理数据。每次spark需要以不同的方式排列数据时(例如排序后),它都会创建一个新任务,并在第一个任务和后面的任务之间进行洗牌

关于mapreduce - Apache Spark 中的驱动程序何时不会运行某个操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30793980/

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