Apache spark Spark execution-Spark execution作业和Spark操作之间的关系

Apache spark Spark execution-Spark execution作业和Spark操作之间的关系,apache-spark,Apache Spark,我有一个关于火花执行的问题 我们都知道,每个spark应用程序(或驱动程序)可能包含一个或多个操作 我的问题是哪一个是正确的-是一组作业对应一个动作,还是每个作业对应一个动作。这里的作业是指可以在Spark执行UI中看到的作业 我认为后者是正确的(每个工作对应一个动作)。请验证 谢谢。你的理解是正确的 火花中的每个动作对应于火花作业。这些动作由应用程序中的驱动程序调用 因此,一个操作可能涉及数据集(或RDD)上的许多转换。这会在作业中创建阶段 一个阶段可以被认为是一组计算(任务),每个计算(任务

我有一个关于火花执行的问题

我们都知道,每个spark应用程序(或驱动程序)可能包含一个或多个操作

我的问题是哪一个是正确的-是一组作业对应一个动作,还是每个作业对应一个动作。这里的作业是指可以在Spark执行UI中看到的作业

我认为后者是正确的(每个工作对应一个动作)。请验证


谢谢。

你的理解是正确的

火花中的每个动作对应于火花作业。这些动作由应用程序中的驱动程序调用

因此,一个操作可能涉及数据集(或RDD)上的许多转换。这会在作业中创建阶段

一个阶段可以被认为是一组计算(任务),每个计算(任务)都可以在一个执行者身上计算,而无需与其他执行者或驱动者通信


换句话说,只要需要员工之间的网络旅行,新阶段就开始了;例如在洗牌中。这些创建阶段边界的依赖项称为ShuffleDependencies。

感谢您的确认和宝贵时间。我认为“High Performance Spark(扩展和优化Apache Spark的最佳实践)”一书中也提到了最后两段。