如何徹底解決Kettle無法連接MySQL8的缺陷?

一、背景

在使用Kettle對數據進行處理時,最常見的操作莫過於關係數據庫的使用,然而使用最新版本Kettle8常面臨以下幾個痛點:

  1. 不支持MySQL8。 MySQL是當前最流行的開源關係數據庫,用戶基數僅次於Oracle。由於具有更好的性能,目前很多系統都已經用上了最新版本MySQL8。比較遺憾的是Kettle並不支持該版本數據庫的連接。
  2. 無法在同一轉換/作業中同時使用相同數據庫的不同版本驅動。因爲Kettle將所有數據庫驅動統一放在lib目錄中,並由同一個類加載器進行加載,如果存在多個版本的驅動則極有可能導致包衝突問題。假如一個轉換需要同時連接MySQL5與MySQL8,Kettle無法實現。
  3. 缺少統一和有效的數據庫插件獲取渠道。在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作爲輸出源的數據處理轉換演示。

 

有使用經驗或者問題,可以到官方論壇交流。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章