我正在尋找替換一堆執行夜間/小時數據彙總和大量數據統計收集的Python ETL腳本。Spring-Batch每小時一次的Hive/MySQL數據處理
我想達成什麼是
- 魯棒性 - 一個失敗的作業/步應自動重新啓動。在某些情況下,我想執行恢復步驟。
- 框架必須能夠從崩潰中恢復。我想這裏需要一些持久性。
- 監控 - 我需要能夠監控作業/步驟的進度,並且最好查看關於性能的歷史和統計數據。
- 可追溯性 - 我必須能夠理解執行的狀態
- 手動干預 - 很高興能...能夠從API/UI /命令行啓動/停止/暫停作業。
- 簡單性 - 當我推出更換產品時,我不希望讓同事看起來很生氣...有一個簡單易懂的API是必需的。
當前的腳本執行以下操作:從多臺機器
- 收集文本日誌,並將其推入Hadoop DFS。我們今後可能會使用Flume進行此步驟(請參閱http://www.cloudera.com/blog/2010/07/whats-new-in-cdh3b2-flume/)。
- 執行Hive對數據進行彙總查詢,並插入(覆蓋)到新的Hive表/分區。
- 將新彙總數據提取到文件中,然後加載(合併)到MySql表中。這是稍後在線報告需要的數據。
- 對新添加的MySql數據(來自MySql表)執行額外的連接,並更新數據。
我的想法是用spring-batch替換腳本。我也看過Scriptella,但我認爲對於這種情況這太「簡單」了。
因爲我在Spring-Batch上看到了一些不好的感覺(大部分是舊帖子)我希望在這裏獲得一些輸入。我也沒有看到太多關於spring-batch和Hive的整合,這很麻煩。
這些劇本出生於罪惡之中。我知道,我寫了他們:) – Yossale 2010-09-23 14:29:24
爲你的遺留@yossale打個招呼 – 2010-09-23 18:19:55
只要我不是那個必須修復它的人.. :) – Yossale 2010-09-24 14:36:14