kettle管理工具
- 專門爲kettle這款優秀的ETL工具開發的web端調度、管理工具。
-
項目簡介
- kettle做爲很是優秀的開源ETL工具獲得了很是普遍的使用,通常的使用的都是使用客戶端操做管理,但問題是當投入生產環境使用時,動輒上百或幾百個job須要管理,這時在使用客戶端管理已經很難完成了。我所知道的解決方案有用命令行的調用的,操做麻煩,總之仍是很難用啦,還有就是開發web端管理工具,kettle自帶了一個web端管理工具,界面極其簡陋不說,還很難用,基本沒法投入生產環境使用,其餘沒留意到還有沒有較好對衆多job進行管理的工具。
- 基於以上狀況,和我近兩年的kettle定製開發與使用經驗。我設計並開發了這款kettle web端管理工具。
- 本系統當前支持oracle和mysql
- 本平臺已經管理數百的job,並正常運行半年以上。
項目功能
- job運行參數設置,能夠在頁面上設置做業運行參數,每次運行做業時會用設置的參數覆蓋默認值,這個不少人用不上。
- 定時設置,操做界面與kettle中的開始控件界面一致,這個多是最優用的功能之一。
- 做業的運行與中止,核心功能就不說了。
- 實時查看做業運行日誌,最大顯示行數能夠配置,這個功能看起來不起眼,實際應該是頗有用的。
- 後臺有一個做業專門完成將運行的做業日誌寫入日誌文件,文件按天分文件夾存放,日誌文件大小能夠配置,若以爲佔用空間,能夠設計一個做業進行定時清理之前的日誌文件,後續會提供該做業。也能夠配置爲不寫日誌文件。
- 做業的運行狀態會定時反映到管理界面,咱們能夠經過多種條件篩選咱們須要的做業進行批量運行或中止。
- 本系統是基於數據庫資源庫設計的,暫時不考慮支持文件資源庫。
- 本系統還附帶了一個kettle插件,相似kettle已有的自定義類控件(能夠在轉換中寫java代碼)。該控件的設計時爲了不每個需求都去開發一個kettle控件,從後臺元數據管理到操做界面設計。該控件採用靈活的JSON傳遞參數,而後繼承一個基類就能夠完成一個任務了,就是說基於該控件,只須要開發一個具體的操做類就能夠了。有興趣能夠看一下,詳細介紹參看:kettle系列-[KettleUtil]kettle插件,相似kettle的自定義java類控件
界面截圖
主界面html
![](http://static.javashuo.com/static/loading.gif)
定時設置界面java
![](http://static.javashuo.com/static/loading.gif)
參數設置界面mysql
![](http://static.javashuo.com/static/loading.gif)
運行日誌查看界面git
![](http://static.javashuo.com/static/loading.gif)
平臺級日誌,支持查詢下載github
![](http://static.javashuo.com/static/loading.gif)
使用說明
請參看個人另外一篇博文:kettle系列-kettle管理平臺部署說明web
開發說明
- 通常都不須要本身開發,直接使用就行,如有bug或新功能需求,能夠發郵件給我。
- 本項目基於開源項目EOVA開發:eova。
- 若想進一步擴展功能,建議先搭建kettle開發環境,能夠參考個人博文:kettle系列-1.kettle源碼獲取與運行
- 個人博客中還有多篇文章介紹kettle的源碼等,能夠做爲參考。
後期開發計劃sql
- 任務管理在設置定時時可能須要人爲分散定時,考慮生成時間-運行任務數的分析圖輔助進行分散定時。
- 做業管理顯示下一次運行時間。
- 權限管理,不一樣用戶看到本身的做業,管理員看全部做業。
附錄
- 項目地址
- 個人郵箱:jinjuma@yeah.net。
- 交流QQ羣:320302530(已滿勿加),交流2羣:142104962
- 已經打包好的軟件下載