【发布时间】:2016-03-03 12:14:50
【问题描述】:
我已经看到这个问题How to implement custom job listener/tracker in Spark? 并检查了源代码以了解如何获取每个作业的阶段数,但是有没有办法以编程方式跟踪在 Spark 应用程序中完成的作业的百分比?
我可能可以通过侦听器获得已完成作业的数量,但我错过了将要运行的作业总数。
我想跟踪整个应用的进度,它创造了很多工作,但我在任何地方都找不到。
@Edit:我知道有一个 REST 端点可以获取应用程序中的所有作业,但是:
- 我不希望使用 REST,而是在应用程序本身中获取它(在 AWS EMR/Yarn 上运行的 Spark - 获取地址可能是可行的,但我宁愿不这样做)
- REST 端点似乎只返回正在运行/已完成/失败的作业,而不是作业总数。
【问题讨论】:
-
您在 UI 中拥有它:master-host:4040
-
@AvihooMamka 我需要以某种方式以编程方式获取它,我的用户无权访问该 UI,因此我需要在我的应用中显示该进度
-
对,我知道 REST API,但由于我使用 YARN 将它部署在 AWS EMR 上,因此获取 URL 很痛苦,我更愿意在我的 spark 工作中执行此操作并 ping 我的应用程序。试图找到 Sparks Web Server 代码以查看他们如何获得作业列表 :-)
标签: scala apache-spark