【问题标题】:How to tell if your spark job is waiting for resources如何判断您的 Spark 作业是否正在等待资源
【发布时间】:2017-08-11 23:12:47
【问题描述】:

我有一个 pyspark 作业,我提交给一个独立的 spark 集群 - 这是 ec2 盒子上的一个自动缩放集群,所以当提交作业并且没有足够的节点可用时,几分钟后,又有几个盒子旋转并变成可用。

我们在 spark 作业的主要部分有一个 @timeout 装饰器,当它超过某个时间阈值(由于某些作业挂起而放置)时,它会超时并出错。问题是,有时作业可能还没有真正开始,因为它正在等待资源,但 @timeout 函数被评估,结果作业出错。

所以我想知道是否有任何方法可以从应用程序本身通过代码来判断作业是否正在等待资源?

【问题讨论】:

    标签: apache-spark pyspark


    【解决方案1】:

    要了解应用程序的状态,您需要访问 Spark Job History 服务器,从中可以获取作业的当前状态。

    您可以通过以下方式解决您的问题:

    1. 通过 sc.applicationId 获取您的工作的应用程序 ID。
    2. 然后使用此应用程序 ID 和 Spark History Server REST API 来获取已提交作业的状态。 您可以在 link 找到 Spark History Server Rest API。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-09
      • 2016-03-19
      • 1970-01-01
      相关资源
      最近更新 更多