一、背景
在使用Kettle對數據進行處理時,最常見的操作莫過於關係數據庫的使用,然而使用最新版本Kettle8常面臨以下幾個痛點:
- 不支持MySQL8。 MySQL是當前最流行的開源關係數據庫,用戶基數僅次於Oracle。由於具有更好的性能,目前很多系統都已經用上了最新版本MySQL8。比較遺憾的是Kettle並不支持該版本數據庫的連接。
- 無法在同一轉換/作業中同時使用相同數據庫的不同版本驅動。因爲Kettle將所有數據庫驅動統一放在lib目錄中,並由同一個類加載器進行加載,如果存在多個版本的驅動則極有可能導致包衝突問題。假如一個轉換需要同時連接MySQL5與MySQL8,Kettle無法實現。
- 缺少統一和有效的數據庫插件獲取渠道。在Kettle使用者需要一些新的數據庫插件時往往不知所措,求助於目前各大社區(甚至是pentaho官方論壇)也無法得到及時有效的幫助。
我們可以使用同樣免費的版本CKettle來徹底解決這些問題。CKettle創新性的將數據庫連接插件全都從core中提取出來,成爲獨立的可熱插拔插件,並能實現多版本數據庫連接並存。同時每個上架插件都包含了經過測試驗證的默認連接驅動,免去自行查找的煩惱。
下文將詳細介紹如何使用數據庫連接插件功能,並舉例驗證。
二、精簡版客戶端插件下載安裝
1.從門戶站點下載最新CKettle客戶端
2.啓動下載的客戶端新建轉換並創建DB連接
(注:若啓動精簡版CKettle客戶端默認已經打開了之前的轉換,會提示插件(轉換或者數據庫插件)丟失(如下圖所示),可暫時忽略錯誤,待安裝完插件即可正常)
3.點擊雲端下載功能,瀏覽你需要安裝的數據庫插件
(注:目前已上線的插件包含主流的數據庫,都已經過測試驗證,兼容多數常用數據庫。若此列表沒有需要的數據庫插件,請到論壇提需求)
4.點擊安裝,安裝完成後將提示成功,同時列表中出現新的連接方式
5.使用新下載的插件建立數據庫連接
6.在轉換中使用該連接完成轉換設計
(注:精簡版需要下載插件,插件安裝請參考門戶教程)
三、擴展
1.使用自定義驅動
有時候來自CKettle提供的數據庫默認連接驅動並不一定能滿足所有版本的數據庫連接,當前轉換使用的數據庫版本使用內置驅動無法滿足使用需要,這時可以打開數據庫連接對話框,使用自定義驅動功能選擇適合當前轉換的驅動。
確認後再次打開該面板即可發現自定義驅動已應用,且驅動已經被放入CKettle程序的libdb目錄,轉換中也會保存該驅動的信息以便下次使用。
2.轉換中同時使用MySQL5和MySQL8
這裏以剛下載的CKettle精簡版客戶端爲例。
Step1:新建轉換,打開下載數據庫插件面板
Step2:下載MySQL5和MySQL8+插件
Step3:建立數據庫連接信息並測試可以成功連接
Step4:安裝用做演示的表輸入(表輸出)插件
Step5:拖入插件到畫布設計轉換
Step6:配置表輸入使用剛纔配置的MySQL5連接m5並查詢出相應的字段,表輸出使用MySQL8+配置的連接m8並指向對應的輸出表(指定字段或者默認不勾選),運行轉換數據處理成功。
至此:本demo成功使用MySQL5作爲輸入源,MySQL8作爲輸出源的數據處理轉換演示。
有使用經驗或者問題,可以到官方論壇交流。