




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、1、Kettle概念Kettle是一款國(guó)外開(kāi)源的ETL工具,純java編寫(xiě),可以在Window、Linux、Unix上運(yùn)行,綠色無(wú)需安裝,數(shù)據(jù)抽取高效穩(wěn)定。Kettle 中文名稱叫水壺,該項(xiàng)目的主程序員MATT 希望把各種數(shù)據(jù)放到一個(gè)壺里,然后以一種指定的格式流出。Kettle這個(gè)ETL工具集,它允許你管理來(lái)自不同數(shù)據(jù)庫(kù)的數(shù)據(jù),通過(guò)提供一個(gè)圖形化的用戶環(huán)境來(lái)描述你想做什么,而不是你想怎么做。Kettle中有兩種腳本文件,transformation和job,transformation完成針對(duì)數(shù)據(jù)的基礎(chǔ)轉(zhuǎn)換,job則完成整個(gè)工作流的控制。2、下載和部署下載kettle壓縮包,因kettle為綠
2、色軟件,解壓縮到任意本地路徑即可.下載kettle包,并解壓壓縮包:(這里使用的是Kettle6.1版本)解壓:3、Kettle環(huán)境配置3.1安裝JDK(略)3.2測(cè)試JDK安裝成功(略)JDK安裝步驟見(jiàn)Jdk1.6_win7_64安裝及配置環(huán)境變量.docx強(qiáng)調(diào):kettle6.1版本,必須配套使用JDK1.7及以上版本。3.3運(yùn)行KettleWindows下找到$KETTLE_HOME/spoon.bat,雙擊運(yùn)行.歡迎界面如下圖所示:4、Kettle組件介紹與使用4.1 Kettle使用Kettle提供了資源庫(kù)的方式來(lái)整合所有的工作,;1)創(chuàng)建一個(gè)新的transformation,點(diǎn)擊保
3、存到本地路徑,例如保存到D:/etltest下,保存文件名為Trans,kettle默認(rèn)transformation文件保存后后綴名為ktr;2)創(chuàng)建一個(gè)新的job,點(diǎn)擊保存到本地路徑,例如保存到D:/etltest下,保存文件名為Job,kettle默認(rèn)job文件保存后后綴名為kjb;4.2 組件樹(shù)介紹4.2.1 Transformation的主對(duì)象樹(shù)和核心對(duì)象分別如下圖: Transformation中的節(jié)點(diǎn)介紹如下:Main Tree:菜單列出的是一個(gè)transformation中基本的屬性,可以通過(guò)各個(gè)節(jié)點(diǎn)來(lái)查看。DB連接:顯示當(dāng)前transformation中的數(shù)據(jù)庫(kù)連接,每一個(gè)tr
4、ansformation的數(shù)據(jù)庫(kù)連接都需要單獨(dú)配置。Steps:一個(gè)transformation中應(yīng)用到的環(huán)節(jié)列表Hops:一個(gè)transformation中應(yīng)用到的節(jié)點(diǎn)連接列表核心對(duì)象菜單列出的是transformation中可以調(diào)用的環(huán)節(jié)列表,可以通過(guò)鼠標(biāo)拖動(dòng)的方式對(duì)環(huán)節(jié)進(jìn)行添加:Input:輸入環(huán)節(jié)Output:輸出環(huán)節(jié)Lookup:查詢環(huán)節(jié)Transform:轉(zhuǎn)化環(huán)節(jié)Joins:連接環(huán)節(jié)Scripting:腳本環(huán)節(jié)4.2.2 Job的主對(duì)象樹(shù)和核心對(duì)象分別如下圖: Main Tree菜單列出的是一個(gè)Job中基本的屬性,可以通過(guò)各個(gè)節(jié)點(diǎn)來(lái)查看。DB連接:顯示當(dāng)前Job中的數(shù)據(jù)庫(kù)連接,每一
5、個(gè)Job的數(shù)據(jù)庫(kù)連接都需要單獨(dú)配置。Job entries/作業(yè)項(xiàng)目:一個(gè)Job中引用的環(huán)節(jié)列表核心對(duì)象菜單列出的是Job中可以調(diào)用的環(huán)節(jié)列表,可以通過(guò)鼠標(biāo)拖動(dòng)的方式對(duì)環(huán)節(jié)進(jìn)行添加。每一個(gè)環(huán)節(jié)可以通過(guò)鼠標(biāo)拖動(dòng)來(lái)將環(huán)節(jié)添加到主窗口中。并可通過(guò)shift+鼠標(biāo)拖動(dòng),實(shí)現(xiàn)環(huán)節(jié)之間的連接。4.2.3 kettle的簡(jiǎn)單使用DB連接我們可以看到轉(zhuǎn)換的主對(duì)象樹(shù)和核心對(duì)象區(qū)域,然后我們添加一個(gè)DB連接。 選擇“主對(duì)象樹(shù)”,雙擊“轉(zhuǎn)換”標(biāo)簽下的“DB連接”會(huì)彈出一個(gè)配置窗口。填入連接名稱,選擇連接類型,配置數(shù)據(jù)庫(kù)設(shè)置,然后測(cè)試下配置是否正確。 由于kettle沒(méi)有將所有數(shù)據(jù)庫(kù)的Driver文件集成,所以如果想
6、連接指定的數(shù)據(jù)庫(kù),需要自己下載JDBC驅(qū)動(dòng),放入指定的lib目錄下。添加完JDBC驅(qū)動(dòng)后,必須重啟kettle才能正確加載驅(qū)動(dòng)(添加oracle數(shù)據(jù)庫(kù)的jdbc驅(qū)動(dòng),參見(jiàn)6、常見(jiàn)問(wèn)題 6.1【Kettle】JDBC連接oracle報(bào)找不到驅(qū)動(dòng))。注:在轉(zhuǎn)換之前需要?jiǎng)?chuàng)建轉(zhuǎn)換所需的表,原始表和轉(zhuǎn)換的目標(biāo)表。 點(diǎn)擊“核心對(duì)象”標(biāo)簽頁(yè)中的“輸入”,選擇“表輸入”拖到“轉(zhuǎn)換”區(qū)域。 雙擊“表輸入”圖標(biāo)彈出表輸入對(duì)話框,填入步驟名稱,選擇數(shù)據(jù)庫(kù)連接,點(diǎn)擊“獲取SQL查詢語(yǔ)句”,或者直接寫(xiě)入SQL語(yǔ)句,填寫(xiě)附件信息,點(diǎn)擊“預(yù)覽”按鈕查看執(zhí)行結(jié)果,沒(méi)有錯(cuò)誤,點(diǎn)擊“確認(rèn)”關(guān)閉對(duì)話框。點(diǎn)擊“核心對(duì)象”“輸出”,選
7、擇“Excel輸出”拖入到轉(zhuǎn)換區(qū),雙擊Excel輸出圖標(biāo),彈出對(duì)話框,選擇文件名和其它附加參數(shù),點(diǎn)擊確認(rèn)。點(diǎn)擊輸入表的圖標(biāo),同時(shí)按下shift鍵,再點(diǎn)擊輸出文件,將兩者連接起來(lái)。然后雙擊Excel輸出進(jìn)行配置。最后一步就是執(zhí)行kettle腳本,點(diǎn)擊工具欄的播放箭頭即可。點(diǎn)擊“啟動(dòng)”開(kāi)始轉(zhuǎn)換,在轉(zhuǎn)換過(guò)程中會(huì)出現(xiàn)轉(zhuǎn)換的信息,如下圖所示。完成轉(zhuǎn)換后,我們可以在Excel輸出目錄中查看轉(zhuǎn)換結(jié)果。注:時(shí)間字段轉(zhuǎn)換到Excel為空,修改SELECT語(yǔ)句中使用TO_CHAR轉(zhuǎn)換成字符串,例如:to_char(start_time,yyyy-mm-dd HH24:MM:SS) as start_time.注:
8、Excel(2007之前版本)中的記錄不能超過(guò)65535條,否則會(huì)自動(dòng)關(guān)閉文件,導(dǎo)致轉(zhuǎn)換失敗。至此,一個(gè)簡(jiǎn)單的數(shù)據(jù)遷移腳本,從oracle數(shù)據(jù)庫(kù)導(dǎo)出數(shù)據(jù)到EXCEL文件中就大功告成了。4.3使用舉例14.3.1建立轉(zhuǎn)換選中列表中的的“表輸入”、“表輸出”、“插入/更新”,拖拽到右側(cè)工作區(qū)。鼠標(biāo)選中節(jié)點(diǎn)鍵盤按shift鍵,拖拽即可連線。下圖是一個(gè)轉(zhuǎn)換,有兩個(gè)動(dòng)作,一是直接從數(shù)據(jù)源表同步數(shù)據(jù)到目標(biāo)表,一是檢查源表的插入和更新,同步到目標(biāo)表。黑色線為生效,灰色線為失效,節(jié)點(diǎn)和連接可雙擊進(jìn)行編輯??深A(yù)覽數(shù)據(jù)是否正確。雙擊編輯表輸出動(dòng)作。操作的數(shù)據(jù)庫(kù)名要獲取的字段設(shè)置如下所示:點(diǎn)擊“Enter fiel
9、d mapping/輸入字段映射”進(jìn)行字段選擇。選擇要用的字段后點(diǎn)確定,注意字段的約束條件。編輯好后點(diǎn)擊上面的執(zhí)行即可。左側(cè)參數(shù)暫不說(shuō)明,執(zhí)行完成后可以觀看下方的日志。雙擊編輯“插入/更新”動(dòng)作。然后點(diǎn)擊運(yùn)行。執(zhí)行前,在源庫(kù)里加條新紀(jì)錄。確定作業(yè)執(zhí)行正常后可以保存作業(yè),如保存路徑到本地磁盤地址C:etl2.ktr。4.3.2建立執(zhí)行的JOB/作業(yè)建立JOB的前提是有可以完整執(zhí)行的作業(yè),上面步驟定制的作業(yè)進(jìn)行保存。從左側(cè)列表拖拽“START”,“Success”,“轉(zhuǎn)換”,“發(fā)送郵件”到工作區(qū)并連接,如下圖。然后雙擊“START”動(dòng)作進(jìn)行編輯。然后雙擊編輯“Transformation”活動(dòng)。轉(zhuǎn)
10、換文件名選擇上一步編輯好的.ktr文件雙擊發(fā)送郵件,參數(shù)設(shè)置如下:編輯完成后直接點(diǎn)擊運(yùn)行即可。運(yùn)行后查看日志。當(dāng)任務(wù)執(zhí)行以后可以查看相對(duì)應(yīng)的日志,也可自行配置日志。4.4使用舉例2本例是完成讀取目錄下的.log文件,找出其中包含錯(cuò)誤代碼的行,并統(tǒng)計(jì)個(gè)數(shù)4.4.1新建Transformation本例所用到的步驟和組件如下圖所示:連接圖如下所示:a)獲取文件名設(shè)置如下:其中已選擇的文件名稱的變量都需要手寫(xiě)輸入,可以點(diǎn)擊顯示文件名和預(yù)覽記錄檢查是否配置正確。b)文本文件輸入設(shè)置如下:文本文件輸入選項(xiàng)中選擇從上一步驟獲取文件名,其中在輸入里的字段被當(dāng)做文件名一欄輸入uri,步驟讀取的文件名來(lái)自填寫(xiě)獲取
11、文件名2內(nèi)容選項(xiàng)卡的設(shè)置如下:文件類型選擇CSV,分隔符自己定義,格式為mixed,編碼方式選擇UTF-8字段選項(xiàng)可設(shè)置如下:需要手寫(xiě)輸入str名稱,設(shè)置類型為Stringc)獲取字符串設(shè)置如下:d)測(cè)試腳本設(shè)置如下其中可以點(diǎn)擊獲取變量和測(cè)試腳本來(lái)測(cè)試腳本的正確性點(diǎn)擊測(cè)試腳本界面如下:腳本代碼由JavaScript編寫(xiě)e)聚合記錄聚合記錄就是將上一步的結(jié)果進(jìn)行聚合,這里的名稱字段是點(diǎn)擊獲取字段獲取的,而不是自己輸入的,new name一列是制定新名字,可以自己輸入填寫(xiě),f)文本文件輸出文本文件的輸出設(shè)置如下,其中字段屬性的設(shè)置名稱字段是點(diǎn)擊獲取字段自動(dòng)獲取的,不是輸入的,設(shè)置如下g)運(yùn)行日志顯示如下:4.4.2建立JobJob的建立于4.3中方法一樣,用到的組件如下所示轉(zhuǎn)換組件設(shè)置如下:將上一步保存的*.ktr添加到轉(zhuǎn)換名文件路徑中點(diǎn)擊運(yùn)行按鈕:生成日志如下所示:6、常見(jiàn)問(wèn)題解決6.1 【Kettle】JDBC連接oracle報(bào)找不到驅(qū)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化遺產(chǎn)保護(hù)與利用項(xiàng)目2025年資金申請(qǐng)項(xiàng)目政策支持力度評(píng)估報(bào)告
- 學(xué)前兒童社會(huì)教育實(shí)施綱要
- 墻體字體手繪培訓(xùn)課件
- 自助感恩教育體系構(gòu)建與實(shí)踐路徑
- 阻生牙拔除并發(fā)癥處理
- Excel基礎(chǔ)操作培訓(xùn)
- 幼兒園教師師德培訓(xùn)
- 職場(chǎng)員工基礎(chǔ)培訓(xùn)
- 坐骨結(jié)節(jié)腫瘤影像診斷分析
- Excel常見(jiàn)函數(shù)培訓(xùn)
- 公司系統(tǒng)主數(shù)據(jù)管理制度
- 2025年煙臺(tái)市中考地理試卷真題(含答案及解析)
- 工廠安全手冊(cè)從火災(zāi)到其他事故的應(yīng)急響應(yīng)
- 肯德基服務(wù)管理制度
- 抖音精準(zhǔn)圈層種草
- (完整版)OEE記錄表格(設(shè)備綜合效率)
- 智慧燃?xì)獍踩O(jiān)管平臺(tái)解決方案
- 鋼結(jié)構(gòu)檢測(cè)專項(xiàng)方案(33頁(yè))
- 人教版小學(xué)三年級(jí)下冊(cè)英語(yǔ)復(fù)習(xí)課件(164頁(yè)P(yáng)PT)
- 300MW單元機(jī)組過(guò)熱汽溫控制系統(tǒng)的設(shè)計(jì)
- (完整版)銷售人員銷售能力測(cè)試及答案解析
評(píng)論
0/150
提交評(píng)論