2011-05-19 122 views
2

有什麼辦法可以自己殺死Hadoop作業或發送信號來殺死它。 我已經從jobConf讀取了配置設置,它表示如果用戶指定了錯誤的設置,我需要殺死該作業或拋出錯誤,因爲map/reduce config方法不允許拋出異常。Hadoop作業如何自己殺死

public void configure(JobConf job) { 
    System.out.println("Inside config start processing"); 
    try { 

      String strFileName = job.get("hadoop.rules"); 
      LoadFile(strFileName); 
    } catch (Exception e) { 
     e.printStackTrace(); 
     //Here i need to write code to kill job 
    } 
} 

回答

0

只需保存狀態到名爲kill布爾變量和評估地圖步裏面的變量,然後拋出一個IOException

+0

謝謝托馬斯,但在這種情況下,編碼將檢查地圖處理的每個記錄。 – anil 2011-05-19 12:42:22

2

在configure()方法中,只拋出一個RuntimeException。

更好的是,如果可能的話,最好在作業運行之前執行驗證步驟。

+0

謝謝,它的工作原理 – anil 2011-05-30 12:28:29