大數據開發平臺架構

傳統的數據開發流程git

開發人員經過公共帳號登陸安裝了Hive、Hadoop客戶端的gateway機器;數據庫

編寫本身的腳本,調試代碼,完成後經過crontab配置腳本定時執行;架構

爲了防止腳本被其餘同事修改,一些謹慎的同事會在每次開發完本身的腳本後同步一份到本機,後面爲了實現版本控制,把腳本同步到了git;分佈式

傳統的開發流程面臨的問題oop

效率低下。測試

腳本或代碼沒有版本控制,開發人員想回滾到之前的版本很不方便。大數據

若開發人員疏忽,添加新的需求後未通過調試,將可能會影響生成的數據,進而影響線上業務。版本控制

任務缺少權限控制,可登錄gateway的任何人均可修改、運行腳本。調試

對於腳本中依賴的表,只能預估它天天產生的時間,一旦它產出延遲,將影響數據的產出。隊列

任務失敗無任何報警,只能依靠人工發現。

任務失敗從新恢復後沒法自動通知依賴下游從新生成。

任務失敗要逐層向上遊查找最源頭的任務失敗緣由,排查異常繁瑣。

一旦gateway機器故障,全部的任務都將灰飛煙滅,毫無疑問這將是一場災難。

大數據開發平臺應具有的功能特徵

Mars具有的功能特性:

引入版本控制,方便開發人員回滾到以前版本,快速恢復線上調度的任務。

規範大數據開發、測試、上線的流程。

權限控制,任務的全部人、管理員才能夠操做任務。

依賴調度,全部依賴的任務執行成功,自動觸發自身執行。

任務執行失敗,發送執行失敗消息給任務全部人,人工介入。

手動恢復任務,恢復成功後,自動通知下游的任務從新執行。

任務依賴圖譜,成功失敗用不一樣顏色區分,失敗源頭一目瞭然。

任務信息存儲在數據庫,Mars機器採用分佈式系統架構,即便單臺機器故障也不會影響使用。

輸入輸出檢測,判斷輸入表是否準備好,檢測輸出表數據是否完整。

合理使用Hadoop資源。用戶只能使用所屬團隊指定的hadoop隊列。

相關文章
相關標籤/搜索