2017-08-10 50 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。
相關問題