2017-08-10 3 views
0

私はスタンドアロンスパーククラスターに提出するpysparkジョブを持っています - これはec2ボックスの自動スケーリングクラスターなので、ジョブがサブミットされ、数分で数個のボックスが開き、利用可能になります。あなたのスパークジョブがリソースを待っているかどうかを確認する方法

スパーク・ジョブの主要部分にタイムアウトのための@timeoutデコレータがあり、特定の時間しきい値を超えたときにエラーが発生します(一部のジョブが停止しているために配置されます)。問題は、リソースがまだ待っていて、@timeout関数が評価され、結果としてジョブがエラーになるため、ジョブが実際に開始されなかったことがあるということです。

私は、ジョブがリソースを待っている場合は、アプリケーション自体の内部からコードを使用して通知する必要があるのでしょうか?

答えて

0

アプリケーションのステータスを確認するには、Spark Job Historyサーバーにアクセスして、ジョブの現在のステータスを取得する必要があります。次のように

あなたの問題を解決することができます:

  1. を通して、あなたの仕事のアプリケーションIDを取得をsc.applicationId。
  2. 次に、このアプリケーションIDをSpark History Server REST APIとともに使用して、送信されたジョブのステータスを取得します。 Spark History Server Rest APIはlinkにあります。
関連する問題