如何在Web UI中更改作业/阶段描述?

时间:2017-01-27 21:32:06

标签: apache-spark

当我在Apache Spark上运行作业时,Web UI会提供类似于此的视图:

enter image description here

虽然这对于我作为开发人员来说非常有用,但我认为阶段描述中的行号对我的支持团队来说并不那么有用。为了使他们的工作更轻松,我希望能够为我的工作的每个阶段以及工作本身提供一个定制的名称,如下所示:

enter image description here

这可以在Spark中完成吗?如果是这样,我该怎么做?

2 个答案:

答案 0 :(得分:21)

这就是Spark Core非常罕见的一个名为本地属性的功能非常适用。

Spark SQL使用它在单个结构化查询下对不同的Spark作业进行分组,因此您可以使用SQL选项卡轻松导航。

您可以使用SparkContext.setLocalProperty控制本地属性:

  

设置影响从此线程提交的作业的本地属性,例如Spark fair调度程序池。也可以在此处设置用户定义的属性。这些属性传播到工作任务,可以通过org.apache.spark.TaskContext#getLocalProperty访问它们。

Web UI使用两个本地属性:

    “工作”标签中的
  • callSite.short(正是您想要的)
  • callSite.long在“作业详细信息”页面中。

样本用法

scala> sc.setLocalProperty("callSite.short", "callSite.short")

scala> sc.setLocalProperty("callSite.long", "this is callSite.long")

scala> sc.parallelize(0 to 9).count
res2: Long = 10

Web UI中的结果。

Jobs tab in web UI with callSite.short

点击作业以查看可以找到较长通话网站的详细信息,例如callSite.long

Job details in web UI with callSite.long

这是Stages选项卡。

Stages tab in web UI

答案 1 :(得分:0)