2017-08-10 46 views
0

我有一个提交给独立火花集群的pyspark作业 - 这是一个在ec2工具箱上的自动缩放集群,因此当提交作业并且没有足够的节点时,几分钟后又有几个盒子旋转起来并变得可用。如何判断您的火花作业是否正在等待资源

当超过特定时间阈值(由于挂起某些作业而放置到位)时,我们在火花作业的主要部分上有一个@timeout装饰器,用于超时和发生错误。问题在于,有时候某个工作可能并没有真正开始,因为它对等待资源的@timeout函数进行了评估,并导致作业出错。

所以我想知道是否有任何应用程序本身,与代码,如果工作正在等待资源告诉?

回答

0

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

可以按如下方式解决问题:

  1. 通过让您的工作中的应用ID sc.applicationId
  2. 然后使用此应用程序Id和Spark History Server REST API来获取提交作业的状态。 您可以在link找到Spark历史服务器Rest API。
相关问题