ETL工具斷斷續續的也接觸了 Informatica,Kettle, SSIS,個人感覺Info很強大但是也很貴,而且有着一些神秘感。Kettle 4.0版本以來已經有了User defined java class組件,使用戶可以寫Java代碼 讓kettle來調用,這就說明了很多kettle不能處理的東西我們可以通過Java代碼來實現,步驟如下:
一:創建Java Project
二:導出Jar包
在main方法中測試Java Project方法無誤后 ,導出為jar包,如下圖所示
三:放入kettle目錄lib下面
這里需要注意的是,在網上看到的都是放到 ...\pdi-ce-6.0.1.0-386\data-integration\ libext 下面,這些說的大概是老版本,本人發現在新的版本6.0中根本沒有libext這個目錄,只有lib目錄,那就放在這里吧,結果是正確的
四:在Java Code 組件中引用
引用分為三個步驟
a : 導入import 自定義包的路徑
b : new 一個方法所在的類
c : 用 a.function()的方法調用自定義類
如下圖所示:
五:測試
一切就緒后,測試調用的結果,看數據庫中的小寫字母是不是被轉換為大寫字母輸出了,執行結果如下圖
輸出結果如下圖,kettle已經通過調用自定義的jar包中的function對輸入的數據做了轉為大寫的操作,和理想的效果一樣