2016-08-23 76 views
1

我遇到了一個問題,並想到了一個問題,我沒有找到一個好的答案。那就是,我如何故意使AWS EMR步驟失敗? 我有一個Spark Scala腳本,作爲Spark步驟添加一些命令行參數,腳本的輸出寫入S3。如何手動進行AWS EMR步驟失敗

但是,如果在讀取和處理命令行參數時出現問題,則會跳過該腳本的邏輯並結束腳本。但是對於EMR這是正常的行爲,它不知道沒有輸入if塊。

並且在「失敗」運行後,步驟狀態仍然變爲「完成」,並且看起來成功而沒有將結果寫入S3。

我想完成這一步,因此它將處於「失敗」狀態。

我可以通過拋出異常來做到這一點,然後我可以在EMR步驟錯誤日誌中看到相應的異常與我的消息。但是有更好的方法嗎?我想手動處理所有我的例外。

此外,我可以使用AWS SDK以編程方式找出步驟失敗的原因嗎?

回答

1

返回從你的程序的非零值

+0

不幸的是,我沒有訪問AWS EMR當前了(並沒有看到在建立個人AWS賬戶只是測試這個答案的任何一點,所以如果有人可以測試這個,我將不勝感激! –

+0

嗨,我面臨着類似的問題,但在我的情況下,我在返回-1之前在dynamoDB中插入日誌消息(System.exit(-1))。該步驟失敗,但dynamoDB中的此記錄插入兩次。 –

相關問題