Kettle 6.x 源碼開發環境搭建

一、引言

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裏面進行設置,具體大小根據本身系統決定,好比:

五、總結

  • 新建項目後,java環境設置爲JDK或者JRE
  • 新建core、engine、dbdialog、ui四個文件夾後須要添加爲source folder,並拷貝源碼包下面相應文件夾下的src下的內容到各個文件夾中
  • 還須要拷貝源碼包下pentaho-kettle-6.1.0.1-R\assembly\package-res\ui裏面的內容到項目ui文件夾下
  • 添加工具包的lib下的jar以及libswt下對應平臺的swt.jar,kettle-core、kettle-dbdialog、kettle-engine開頭的三個jar不要添加的項目的build path中
  • 若是須要使用plugins裏面的功能,還須要建立plugins目錄並拷貝相應內容,本身開發的插件也須要放入plugins下(固然也能夠放入lib下,關於本身開發插件的方法,請關注後續文章)
  • 調試模式下運行Spoon的話,能夠進行斷點調試,方便排查問題

 

後記

github上kettle源碼pentaho-kettle-6.1.0.1-R最近從新發布過,按此教程搭建後代碼也可能有錯不能運行,能夠從這裏下載舊版源碼:http://pan.baidu.com/s/1kVjqUaz 進行搭建。

 

-------------------------------------------------------------------------------------------

你們在使用過程當中若是有什麼問題(或者索取配置好可直接運行的版本),能夠加QQ羣:195548102一塊兒討論。

-------------------------------------------------------------------------------------------

相關文章
相關標籤/搜索