Data Integration - Kettle 做爲免費開源的ETL工具,能夠經過其桌面程序進行ETL步驟的開發並執行。kettle以插件形式來實現每一個轉換步驟的工做,發行版中已經提供了經常使用的轉換清洗插件,若是還不能知足業務需求的話,則能夠本身開發相應插件實現。但在使用原有插件或者自定義插件的過程當中遇到問題時,若是很差定位緣由,則能夠經過源碼環境來調試,能夠更加方便和容易地解決問題。另外,經過源碼的開發和學習,也能更加深刻地理解kettle的原理。java
◆下載kettle工具包git
在kettle官網找到下載地址,下載pdi-ce-{version}.zip的免安裝包,本文以pdi-ce-6.1.0.1-196.zip爲例,具體的地址在https://sourceforge.net/projects/pentaho/files/Data%20Integration/6.1/pdi-ce-6.1.0.1-196.zip/download。下載完成後,解壓之。本文解壓後命名爲data-integration6.1,如圖:github
◆下載kettle源碼工具
前往github下載kettle源碼(github上kettle源碼pentaho-kettle-6.1.0.1-R最近從新發布過,按此教程搭建後代碼可能報「org.pentaho.vfs.ui.VfsResolver」這個類找不到的錯誤,能夠從這裏下載舊版源碼:http://pan.baidu.com/s/1kVjqUaz ),地址:https://github.com/pentaho/pentaho-kettle,從Releases發佈版本中選擇與上一步下載的工具對應的版本下載,最後解壓源碼。以下圖所示:學習
選擇對應版本下載zip或者gz包:ui
本文下載pentaho-kettle-6.1.0.1-R.zip,解壓後文件夾名爲pentaho-kettle-6.1.0.1-R,以下圖:spa
具體步驟以下:操作系統
1)在Eclipse中新建java project項目kettle-src,java環境設置爲JDK或者JRE,不要選JavaSE,否則會報缺乏Krb5loginModule的錯誤。.net
2)在kettle-src根目錄下,新建core、engine、dbdialog、ui四個文件夾(注意是文件夾,非package!),並將四個文件夾設置爲source folder(在文件夾上右鍵點擊>>Build Path>>Use as Source Folder或者在項目的Java Build Path裏面選擇Source選項卡,將四個文件夾添加進去)。插件
3)進入源碼解壓包,將pentaho-kettle-6.1.0.1-R\core\src下面的內容所有拷貝到項目的core文件夾下,一樣,將engine、dbdialog、ui三個文件夾src下的內容也分別拷貝到項目對應的文件夾下。
4)將源碼包下pentaho-kettle-6.1.0.1-R\assembly\package-res\ui(或者工具包下ui文件夾data-integration6.1\ui)裏面的內容拷貝到項目ui文件夾下。
5)進入kettle桌面工具的解壓包,將lib文件夾(data-integration6.1\lib)及其裏面的jar所有拷貝到項目根目錄下,並刪除kettle-core-6.1.0.1-196.jar、kettle-dbdialog-6.1.0.1-196.jar、kettle-engine-6.1.0.1-196.jar三個jar包,再將data-integration6.1\libswt目錄下,對應操做系統的文件夾下的swt.jar(本文選擇data-integration6.1\libswt\win64\swt.jar)拷貝到項目的lib下,最後將lib下全部的jar包添加到項目的build path中。
6)在項目根目錄下新建plugins文件夾,而後根據須要將工具包下的plugins裏面的插件拷貝到plugins目錄下(若是不在項目下創建plugins目錄,也能夠在系統的user_home/.kettle/下面建立plugins目錄,好比在C:\Users\Administrator\.kettle下面建立)。
至此,環境準備完畢,最後項目結構以下圖所示:
定位到Spoon.java類:/kettle-src/ui/org/pentaho/di/ui/spoon/Spoon.java,運行便可看到kettle的桌面程序了。至於JVM的參數(-Xms1024m -Xmx2048m等),也能夠在Run Configurations裏面進行設置,具體大小根據本身系統決定,好比:
github上kettle源碼pentaho-kettle-6.1.0.1-R最近從新發布過,按此教程搭建後代碼也可能有錯不能運行,能夠從這裏下載舊版源碼:http://pan.baidu.com/s/1kVjqUaz 進行搭建。
-------------------------------------------------------------------------------------------
你們在使用過程當中若是有什麼問題(或者索取配置好可直接運行的版本),能夠加QQ羣:195548102一塊兒討論。
-------------------------------------------------------------------------------------------