gpt4 book ai didi

scala - YARN : how to monitor stages progress programatically? 上的 Spark 2.3.1

转载 作者:可可西里 更新时间:2023-11-01 16:28:06 27 4
gpt4 key购买 nike

我有一个在 YARN 上运行 Spark 的设置,我的目标是通过应用程序 ID 以编程方式获取 Spark 作业进度的更新。

我的第一个想法是解析 YARN GUI 的 HTML 输出。然而,这种 GUI 的问题是,与 spark 作业关联的进度条不会定期更新,甚至大部分时间都不会更改:当作业开始时,百分比大约是 10%,并且卡住了到这个值,直到工作完成。所以这样的 YARN 进度条与 Spark Jobs 无关。

当我单击与 Spark 作业对应的 Application Master 链接时,我将被重定向到在作业运行期间临时绑定(bind)的 Spark GUI。阶段页面与 Spark 作业的进度非常相关。然而,它是纯 HTML,因此解析起来很痛苦。在 Spark 文档中,他们讨论了一个 JSON API,但似乎我无法访问它,因为我在 YARN 下并且我正在通过 YARN 代理页面访问 Spark GUI。

可能是一个解决方案,为了访问更多的东西,可能是访问真正的 Spark GUI ip:port,而不是 YARN 代理的,但我不知道我是否可以获得这样的源 URL很容易...

获得 Spark 作业进度的所有这些听起来都很复杂......截至 2018 年,您能否告诉我们获得在 YARN 上运行的 Spark 作业的相关阶段进度的首选方法是什么?

最佳答案

在应用程序本身中,您可以使用 spark.sparkContext.statusTracker 获取有关舞台进度的信息,您可以查看例如Zeppelin Notebook 为 Spark 2.3 实现了一个进度条:https://github.com/apache/zeppelin/blob/master/spark/spark-scala-parent/src/main/scala/org/apache/zeppelin/spark/JobProgressUtil.scala

关于scala - YARN : how to monitor stages progress programatically? 上的 Spark 2.3.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51991915/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com