Apache spark 什么是';活动工单';在Spark History Server Spark UI作业部分

Apache spark 什么是';活动工单';在Spark History Server Spark UI作业部分,apache-spark,cloudera,spark-ui,Apache Spark,Cloudera,Spark Ui,我试图了解Spark History服务器组件。 我知道,历史服务器显示完整的Spark应用程序 尽管如此,对于完整的Spark应用程序,我看到“活动作业”设置为1。我试图理解“工作”部分中“活跃工作”的含义。 另外,应用程序在30分钟内完成,但当我在8小时后打开历史服务器时,“持续时间”显示为8.0小时。 请看截图 您能否帮助我理解上图中的“活动作业”、“持续时间”和“阶段:成功/总计”项目?在Spark应用程序中调用操作(在您的情况下,计数是操作)会触发启动作业以完成它。Spark检查该操

我试图了解Spark History服务器组件。 我知道,历史服务器显示完整的Spark应用程序

尽管如此,对于完整的Spark应用程序,我看到“活动作业”设置为1。我试图理解“工作”部分中“活跃工作”的含义。 另外,应用程序在30分钟内完成,但当我在8小时后打开历史服务器时,“持续时间”显示为8.0小时。 请看截图


您能否帮助我理解上图中的“活动作业”、“持续时间”和“阶段:成功/总计”项目?

在Spark应用程序中调用操作(在您的情况下,计数是操作)会触发启动作业以完成它。Spark检查该操作所依赖的数据集,并制定执行计划。执行计划将数据集转换组装成多个阶段

阶段是执行计划的物理单元。简而言之,Stage是一组并行任务,即每个分区一个任务。基本上,每个被划分成更小任务集的工作都是一个阶段。尽管如此,这完全取决于彼此。但是,它与MapReduce中的map和reduce阶段有些相同

每种类型的火花级详细说明:

a。Spark中的ShuffleMapStage ShuffleMapStage被认为是DAG物理执行中的中间火花阶段。 基本上,它为另一个阶段生成数据。 考虑SUFFLAMAPPACK阶段的火花作为输入的其他后续火花阶段在DAG阶段。 但是,在ShuffleMapStage中,可能有n个多管道操作。 与贴图和过滤器类似,在执行随机播放操作之前。此外,我们可以在不同的工作之间共享单个ShuffleMapStage

b。Spark中的结果阶段 通过在spark RDD阶段上运行函数,在用户程序中执行spark操作就是ResultStage。它被认为是spark中的最后一个阶段。ResultStage作为作业的最后一个阶段,在Spark中对目标RDD的一个或多个分区应用函数,有助于计算操作的结果

回到历史服务器上活跃工作的问题,官方文件上列出了一些注释 同样,还有关于同一链接的jira问题。 有关更多详细信息,请访问链接

经过一些研究,终于找到了我问题的答案

Spark应用程序由一个驱动程序和一个或多个执行器组成。驱动程序实例化SparkContext,它协调执行器运行Spark应用程序。此信息显示在Spark History Server Web UI的“活动作业”部分

执行者运行由驱动程序分配的任务

当Spark应用程序在Thread上运行时,它有自己的Thread客户端和Thread application master实现。 Thread应用程序有一个Thread客户端、Thread应用程序主控程序和在节点管理器上运行的容器列表

在我的例子中,纱线是在独立模式下运行的,所以驱动程序是作为纱线应用程序主线程运行的。Thread客户端从应用程序主机获取状态,应用程序主机协调容器以运行任务

此正在运行的作业可以在Cloudera Manager管理控制台中的“应用程序”页面中进行监控,而该作业正在运行

若应用程序成功,则历史服务器将显示“已完成作业”列表,并且“活动作业”部分也将被删除

如果应用程序在容器级别失败,并且Thread将此信息传递给驱动程序,则历史服务器将显示“失败作业”列表,并且“活动作业”部分将被删除

尽管如此,若应用程序在容器级别失败,并且Thread无法将其与驱动程序通信,那个么驱动程序实例化的作业将进入遗忘状态。它认为作业仍在运行,并一直在等待从应用程序主程序获得作业状态的消息。因此,在History Server中,它仍然在“活动作业”中显示为正在运行

因此,我的收获是: 要检查正在运行的作业的状态,请转到Cloudera Manager管理控制台中的Thread applications页面或使用Thread CLI命令。
作业完成/失败后,打开Spark History Server以获取更多有关资源使用情况、DAG和执行时间表信息的详细信息。

我已经阅读了Jace Klaskowski的博客,可以将失败/完成的作业关联起来。尽管如此,我仍然无法理解什么是“活动工作”符号。此外,还需要对持续时间和阶段进行解释:successed/Total。在您的回答中,什么是“活动作业”?我的问题是,当Spark应用程序已经完成(从而显示在history server中)时,为什么它仍然显示在“活动作业”中?“活动作业”的目的/意义是什么?最后,您能否分享一下您的作业是如何从Spark UI中删除的?