电竞比分网-中国电竞赛事及体育赛事平台

分享

kettle學(xué)習(xí)--用eclipse搭建源碼

 nacy2012 2014-11-13

前話(huà)

   本系列文章,重點(diǎn)剖析PDI的工作原理并關(guān)注系統(tǒng)的代碼處理,學(xué)習(xí)軟件的編碼能力和代碼的設(shè)計(jì)模式。該系統(tǒng)為我們快速搭建集群應(yīng)用又提供了一種思路。在開(kāi)始這系列文章之前,我認(rèn)可你是懂java語(yǔ)法的人,對(duì)腳本有一定的認(rèn)識(shí),在軟件面前有渴望知道原理的求知欲。本系列文章采用最新的開(kāi)源版本

pdi-ce-5.0.1.A-stable,我希望通過(guò)我的努力能為ETL方面貢獻(xiàn)我微薄的力量。

 

 

PDI 官網(wǎng)上去下載最新的版本包:

http:///projects/pentaho/files/Data%20Integration/5.0.1-stable/pdi-ce-5.0.1.A-stable.zip/download

 

到如下源碼站點(diǎn),找到與之對(duì)應(yīng)的源碼:

https://github.com/pentaho/pentaho-kettle/releases

 

 

我們打開(kāi)編譯過(guò)的包,直接解壓。如果設(shè)置了java環(huán)境變量,你就可以直接點(diǎn)擊spoon腳本,打開(kāi)PDI并看到他的操作界面了。首先,我們不著急打開(kāi),先看下你解壓過(guò)后的文件,我們來(lái)大致了解下文件布局構(gòu)造。



 
 

 

 

lib:項(xiàng)目依賴(lài)jar包。比較重要的是以kettlepentaho打頭的jar包。支持整個(gè)工具的運(yùn)行。如下,也是我們比較關(guān)注源碼的地方。

 

 

 

libswt PDI采用了xul界面技術(shù)。所有界面的開(kāi)發(fā)采用了swt組件。該目錄,包含了所用到的jar包,并且根據(jù)操作系統(tǒng)平臺(tái)做到了差異化加載jar包的控制。

 

Plugins:插件目錄。系統(tǒng)開(kāi)放插件接口,可以對(duì)平臺(tái)插件做擴(kuò)展。



 

 

 

Pwd:存放集群化的配置文件和訪問(wèn)授權(quán)文件kettle.pwd

 

Ui: 系統(tǒng)所有的界面xul文件和引用的圖片資源文件。

 

腳本:各種啟動(dòng)腳本。重點(diǎn)有四個(gè) spoot/ pen/ kitchen/ carte。這些腳本的作用,后面我們?cè)僭敿?xì)闡述。

 

 

到這里,有人或許已經(jīng)打開(kāi)了PDI的工作頁(yè)面,并根據(jù)教程,已經(jīng)對(duì)腳本有了基本概念。但這些不是我們的目的,我們要把項(xiàng)目從eclipse上啟動(dòng)起來(lái)。

 

 

 

新建java項(xiàng)目,筆者以pentaho_kettle 為項(xiàng)目名。

 

源碼項(xiàng)目是用ivy來(lái)管理的,為了減(我)少(也)麻(不)煩(會(huì)),我們把項(xiàng)目的源碼改成eclispe上的java工程項(xiàng)目。打開(kāi)源碼包里有幾個(gè)比較重要的目錄。

 



 

 

跟之前的lib的依賴(lài)包是一致的。好了我們?cè)诠こ汤锝⑾鄳?yīng)的源碼目錄,把源碼包相應(yīng)模塊下的src目錄內(nèi)容拷貝進(jìn)來(lái)??截愡M(jìn)來(lái)后,代碼會(huì)報(bào)錯(cuò),到上面提到的lib包下,我們把需要引用的jar包都考進(jìn)工程里,并構(gòu)建到工程中。



 

注意:已經(jīng)引入源碼的jar包就不要再引入了。另外swt包沒(méi)有了腳本對(duì)操作系統(tǒng)的判斷,自己根據(jù)自己的系統(tǒng)的類(lèi)型,手動(dòng)選擇引入吧。其他的目錄文件,如docs pwd、simple-jndi等雖然不會(huì)造成項(xiàng)目編譯不了,但是作為資源,缺失會(huì)報(bào)錯(cuò)的,所以還是要拷貝進(jìn)來(lái)的。



 

 

 

 到這里,你的源碼搭建就OK了,如果你對(duì)腳本有了解的話(huà),不難看出spoon啟動(dòng)腳本,對(duì)應(yīng)的是Spoon.java.該類(lèi)的main方法便是整個(gè)工具的入口。這里看到腳本對(duì)啟動(dòng)參數(shù)有了部分的設(shè)置,我們?cè)趩?dòng)配置時(shí)加入該參數(shù)。



 

 

VM參數(shù) 寫(xiě)道-Xmx512m
-XX:MaxPermSize=256m
-Djava.library.path=libswt\win32
-DKETTLE_HOME=
-DKETTLE_REPOSITORY=
-DKETTLE_USER=
-DKETTLE_PASSWORD=
-DKETTLE_PLUGIN_PACKAGES=
-DKETTLE_LOG_SIZE_LIMIT=
-DKETTLE_JNDI_ROOT=

 

啟動(dòng),OK

 

   

大小: 126.7 KB大小: 134.9 KB大小: 129 KB大小: 136.1 KB大小: 161.1 KB大小: 412.5 KB大小: 295.8 KB查看圖片附件

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多