可以使用其REST API以%的百分比在Spark中查看应用程序的进度

我正在独立Spark集群上运行Spark应用程序。如果我使用Spark REST API检查应用程序的状态,则会得到类似以下的内容。

curl localhost:4040/api/v1/applications

[ {
  "id" : "app-20191107150648-0000","name" : "MyAppName","attempts" : [ {
    "startTime" : "2019-11-07T14:06:47.372GMT","endTime" : "1969-12-31T23:59:59.999GMT","lastUpdated" : "2019-11-07T14:06:47.372GMT","duration" : 0,"sparkUser" : "username","completed" : false,"appSparkVersion" : "2.4.4","startTimeEpoch" : 1573135607372,"lastUpdatedEpoch" : 1573135607372,"endTimeEpoch" : -1
  } ]
}

我的问题是,是否有任何API也可以百分比显示应用程序的进度。例如,如果完成一半,则应显示50%。我知道不可能获得确切的数字,但即使是估算也可以。

dongping303 回答:可以使用其REST API以%的百分比在Spark中查看应用程序的进度

您可以从... / applications / [app_id] / stages获得给定应用程序的所有阶段的列表,然后通过... / applications / [app_id] / stages查看完成了多少阶段? = complete(请参阅https://spark.apache.org/docs/latest/monitoring.html#rest-api)。在大胆地假设所有阶段都相等之后,可以将列表2的大小除以#1,然后得到一个百分比。

本文链接:https://www.f2er.com/3143380.html

大家都在问