当我在Apache Spark上运行作业时,Web UI提供了类似于此的视图:
虽然这对我作为开发人员来说非常有用,但我认为阶段描述中的行号对我的支持团队来说并不那么有用.为了使他们的工作更轻松,我希望能够为我的工作的每个阶段以及工作本身提供一个定制的名称,如下所示:
这可以在Spark中完成吗?如果是这样,我该怎么办?
Jac*_*ski 24
这就是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
Run Code Online (Sandbox Code Playgroud)
而Web UI中的结果.
单击作业以查看可以找到较长呼叫站点的详细信息,即callSite.long.
这是Stages选项卡.
| 归档时间: |
|
| 查看次数: |
4553 次 |
| 最近记录: |