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類控件
界面截圖
主界面
定時設置界面
參數設置界面
運行日志查看界面
平台級日志,支持查詢下載
使用說明
請參看我的另一篇博文:kettle系列-kettle管理平台部署說明
開發說明
- 一般都不需要自己開發,直接使用就行,若有bug或新功能需求,可以發郵件給我。
- 本項目基於開源項目EOVA開發:eova。
- 若想進一步擴展功能,建議先搭建kettle開發環境,可以參考我的博文:kettle系列-1.kettle源碼獲取與運行
- 我的博客中還有多篇文章介紹kettle的源碼等,可以作為參考。
后期開發計划
- 任務管理在設置定時時可能需要人為分散定時,考慮生成時間-運行任務數的分析圖輔助進行分散定時。
- 作業管理顯示下一次運行時間。
- 權限管理,不同用戶看到自己的作業,管理員看所有作業。
附錄
- 項目地址
- 我的郵箱:jinjuma@yeah.net。
- 交流QQ群:320302530(已滿勿加),交流2群:142104962
- 已經打包好的軟件下載