




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
ETL(Extract-Transform-Load的縮寫,即數(shù)據(jù)抽取、轉(zhuǎn)換、裝載的過(guò)程),對(duì)于企業(yè)或行業(yè)應(yīng)用來(lái)說(shuō),我們經(jīng)常會(huì)遇到各種數(shù)據(jù)的處理,轉(zhuǎn)換,遷移,所以了解并掌握一種etl工具的使用,必不可少,這里我介紹一個(gè)我在工作中使用了3年左右的ETL工具Kettle,本著好東西不獨(dú)享的想法,跟大家分享碰撞交流一下!在使用中我感覺這個(gè)工具真的很強(qiáng)大,支持圖形化的GUI設(shè)計(jì)界面,然后可以以工作流的形式流轉(zhuǎn),在做一些簡(jiǎn)單或復(fù)雜的數(shù)據(jù)抽取、質(zhì)量檢測(cè)、數(shù)據(jù)清洗、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)過(guò)濾等方面有著比較穩(wěn)定的表現(xiàn),其中最主要的我們通過(guò)熟練的應(yīng)用它,減少了非常多的研發(fā)工作量,提高了我們的工作效率,不過(guò)對(duì)于我這個(gè).net研發(fā)者來(lái)說(shuō)唯一的遺憾就是這個(gè)工具是Java編寫的。1、 Kettle概念Kettle是一款國(guó)外開源的ETL工具,純java編寫,可以在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壓縮包,因kettle為綠色軟件,解壓縮到任意本地路徑即可3、 Kettle環(huán)境配置(有Java環(huán)境的直接忽略此章節(jié))3、1安裝javaJDK1) 首先到官網(wǎng)上下載對(duì)應(yīng)JDK包,JDK1.5或以上版本就行;2) 安裝JDK;3) 配置環(huán)境變量,附配置方式:
安裝完成后,還要對(duì)它進(jìn)行相關(guān)的配置才可以使用,先來(lái)設(shè)置一些環(huán)境變量,對(duì)于Java來(lái)說(shuō),最需要設(shè)置的環(huán)境變量是系統(tǒng)路徑變量patho要打開環(huán)境變量的設(shè)置窗口。右擊''我的電腦”,在彈出的快捷菜單中選擇''屬性''選項(xiàng),進(jìn)入''系統(tǒng)屬性”對(duì)話框,如圖所示。選擇''高級(jí)”標(biāo)簽,進(jìn)入''高級(jí)''選項(xiàng)卡,再單擊''環(huán)境變量”按鈕,進(jìn)入''環(huán)境變量〃對(duì)話框,如圖所示:圖“系統(tǒng)屬性"對(duì)話粗州4您>CADdeut4EiLiud$帆進(jìn)入''環(huán)境變量〃對(duì)話框,如圖所示:圖“系統(tǒng)屬性"對(duì)話粗州4您>CADdeut4EiLiud$帆1四虻孤焦4?】elCAIkeutsM理』el角e ee.JK Hi.iltiER.flIJJ;峙mmtMWXtQIwin^3_irrzJ(2)在''Administrator的用戶變量''列表框中,選擇變量PATH,待其所在行變高亮后,單擊''編輯''按鈕,如圖所示。(3)在彈出的''編輯系統(tǒng)變量''對(duì)話框中,將JDK安裝路徑下的bin目錄路徑設(shè)置到Path變量中,如圖所示。
£"'XDer:K?n4■.anSS?1.1l=1p^lJI.Aiin£"'XDer:K?n4■.anSS?1.1l=1p^lJI.Aiin*;,腳—怔mWSi^lhF<E^4"irNEW坪 g?BLE_dF_:rKliTi.nJcTi.&ifT:fATKUtCMi£3E,1A.Ti:"D fE端輯印血變里J囹1,打開p汕寰里的編輯窗口編輯完后,單擊''確定”按鈕,進(jìn)行保存,環(huán)境變量Path的設(shè)置就正式完成。注意:設(shè)置Path變量的路徑,必須是JDK安裝目錄中的bin目錄,有時(shí)候在JDK安裝目錄的同一層會(huì)有JRE的安裝目錄,因此請(qǐng)謹(jǐn)慎選取相關(guān)路徑,避免將路徑設(shè)置成JRE目錄下的bin目錄。3、2測(cè)試JDK配置是否成功設(shè)置好環(huán)境變量后,就可以對(duì)剛設(shè)置好的變量進(jìn)行測(cè)試,并檢測(cè)Java是否可以運(yùn)行。(1) 單擊''開始〃按鈕,選擇''運(yùn)行''選項(xiàng),在''運(yùn)行''對(duì)話框中輸入cmd命令。(2) 之后單擊''確定〃按鈕,打開命令行窗口。(3) 在光標(biāo)處輸入:javac命令,按下Enter鍵執(zhí)行,即可看到測(cè)試結(jié)果3、3運(yùn)行Kettle口進(jìn)入到Kettle目錄,如果Kettle部署在windows環(huán)境下,雙擊運(yùn)行spoon.bat或Kettle.exe文件,出現(xiàn)如下界面:
選建一個(gè)濟(jì)溫座?pentahoopensourcebusinessintellii^noe選建一個(gè)濟(jì)溫座?pentahoPentahoDataIntegrationPreviouslyKettle歡迎使用Kettle-PentahoDataIntegrationPreviouslyKettle這樣配置環(huán)境這一塊基本上就完成了。4、Kettle使用及組件介紹□4.1Kettle使用Kettle提供了資源庫(kù)方式的方式來(lái)整合所有的工作,但是因?yàn)橘Y源庫(kù)移植不方便,所以我們選擇沒有資源庫(kù);1) 創(chuàng)建一個(gè)新的transformation,點(diǎn)擊保存到本地路徑,例如保存到D:/etltest下,保存文件名為EtltestTrans,kettle默認(rèn)transformation文件保存后后綴名為ktr;2) 創(chuàng)建一個(gè)新的job,點(diǎn)擊保存到本地路徑,例如保存到D:/etltest下,保存文件名為EtltestJob,kettle默認(rèn)job文件保存后后綴名為kjb;4.2組件樹介紹?■轉(zhuǎn)換JX?■轉(zhuǎn)換JXMyTe-st,mDBi^Sf]NoahDE0lIMoahdb,Steps(步廉】G更新?敝跑轎查道0更新V過(guò)濤記錄J歸H叩&?故據(jù)庫(kù)查道?>過(guò)透記是陌、1部-?-過(guò)造記錄-->插入/更新(enabled)*表輸入->裁信庫(kù)查詢5bl邊-?-過(guò)海-->更新(enabledl MainTree菜單列出的是一個(gè)transformation中基本的屬性,可以通過(guò)各個(gè)節(jié)點(diǎn)來(lái)查看。DB連接:顯示當(dāng)前transformation中的數(shù)據(jù)庫(kù)連接,每一個(gè)transformation的數(shù)據(jù)庫(kù)連接都需要單獨(dú)配置。Steps:一個(gè)transformation中應(yīng)用到的環(huán)節(jié)列表Hops:一個(gè)transformation中應(yīng)用到的節(jié)點(diǎn)連接列表Oj5>ciiidiOhjoctsi <t>■Enput 鹿9丈志立*■殯甌塞明國(guó)息■在RS記源-}21eg"A.*XESR1-W.A臨ExlM入-HXML?.A招 XMLEnpirt■Q-vtFidlvNlnm■■&色A■:C*5iIltpiilf?七ProSAiPCTNN-RRORATIOSAPConnmtorS4ESROShjVffilTilffiIRo^idar□urtfM.Jt ¥Locriciip ¥ATijiM--HifoiiamA Jtifrii ¥ScrtptlfclQI SfA EkataWwrehoijsf? ¥Mepp*iQ ¥Jfcib 不>* mllrsis ¥D^ptacdtad 年硬甌塞城國(guó)息生RS記源Cub心入X.BhxvKiAEwcdWiiAXML?<A女代*快壯DXMLEnpin:U*tFii*Nlmn-iihAcc*5iIltpiiltProSAiPCTNN-RRORATIOSAPESROSFi^EMfilTilffiIRo^idarCoreObjects菜單列出的是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.3Transformation 轉(zhuǎ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é)之間的連接。Tr^iniifcirnlaticin1Tr^iniifcirnlaticin1畫立本立件澈入饋尋MamTreeGoreObiectsAInput 套序攵本吏件明入■獲黑系統(tǒng)信@■生成記錄歡3b漩入HiXBase^A矗ExctI^i2\垂1XMLSfiAStrearningXf-ILLipiftBGetFiler-Jam?s=.^jAccessInputfProSAPCUNN-PRORAIJUSAISZesriShapefileRo-adcr轉(zhuǎn)換常用環(huán)節(jié)介紹類別環(huán)節(jié)名稱功能說(shuō)明Input文本文件輸入從本地文本文件輸入數(shù)據(jù)表輸入從數(shù)據(jù)庫(kù)表中輸入數(shù)據(jù)獲取系統(tǒng)信息讀取系統(tǒng)信息輸入數(shù)據(jù)Output文本文件輸出將處理結(jié)果輸出到文本文件表輸出將處理結(jié)果輸出到數(shù)據(jù)庫(kù)表插入/更新根據(jù)處理結(jié)果對(duì)數(shù)據(jù)庫(kù)表機(jī)型插入更新,如果數(shù)據(jù)庫(kù)中不存在相關(guān)記錄則插入,否則為更新。會(huì)根據(jù)查詢條件中字段進(jìn)行判斷更新根據(jù)處理結(jié)果對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新,若需要更新的數(shù)據(jù)在數(shù)據(jù)庫(kù)表中無(wú)記錄,則會(huì)報(bào)錯(cuò)停止刪除根據(jù)處理結(jié)果對(duì)數(shù)據(jù)庫(kù)記錄進(jìn)行刪除,若需要?jiǎng)h除的數(shù)據(jù)在
數(shù)據(jù)庫(kù)表中無(wú)記錄,則會(huì)報(bào)錯(cuò)停止Lookup數(shù)據(jù)庫(kù)查詢根據(jù)設(shè)定的查詢條件,對(duì)目標(biāo)表進(jìn)行查詢,返回需要的結(jié)果字段流查詢將目標(biāo)表讀取到存,通過(guò)查詢條件對(duì)存中數(shù)據(jù)集進(jìn)行查詢調(diào)用DB存儲(chǔ)過(guò)程調(diào)用數(shù)據(jù)庫(kù)存儲(chǔ)過(guò)程Transform字段選擇選擇需要的字段,過(guò)濾掉不要的字段,也可做數(shù)據(jù)庫(kù)字段對(duì)應(yīng)過(guò)濾記錄根據(jù)條件對(duì)記錄進(jìn)行分類排序記錄將數(shù)據(jù)根據(jù)某以條件,進(jìn)行排序空操作無(wú)操作增加常量增加需要的常量字段ScriptingModifiedJavaScriptValue擴(kuò)展功能,編寫JavaScript腳本,對(duì)數(shù)據(jù)進(jìn)行相應(yīng)處理Mapping映射(子轉(zhuǎn)換)數(shù)據(jù)映射JobSatVariables設(shè)置環(huán)境變量GetVariables獲取環(huán)境變量4.3Job任務(wù)介紹
1.■?Etites-tJob-1.■?Etites-tJob-C5口母至按(5asci15120-_ ■JobentriesEtltestTr^ns-nSt?rtEtlteslTrEin5fhlle2dllbMainTreeDB連接:顯示當(dāng)前Job中的數(shù)據(jù)庫(kù)連接,每一個(gè)Job的數(shù)據(jù)庫(kù)連接都需要單獨(dú)配置。「澎…EM布Jobentries:一個(gè)Job中引用的環(huán)節(jié)列表「澎…EM布土mLf■■■rw|3ig|>om土mLf■■■rw|3ig|>omJnfogitForZqiLJX51_TH-^i-b^rofii-b-b-hCiOi-to鼻小?11_心A,tfiOitl tJMr中W|O|JiGi-*<hh-8^■!■.Froii-hF>OE>Phhk-dgillli-a-i.1.每一個(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é)之間的連接。常用環(huán)節(jié)介紹類別環(huán)節(jié)名稱功能說(shuō)明JobentriesSTART開始DUMMY結(jié)束Transformation引用Transformation流程Job引用Job流
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 歷年課題申報(bào)書查看
- 銅鼓文化課題項(xiàng)目申報(bào)書
- 高校 工會(huì)課題申報(bào)書
- 體育課題申報(bào)評(píng)審書范文
- 合作投資酒店意向合同范本
- 人防車位產(chǎn)權(quán)合同范本
- 單價(jià)工裝采購(gòu)合同范本
- 合同范本可以代替律師證
- 少數(shù)民族文化課題申報(bào)書
- 不交金合同范本
- 2023電動(dòng)船舶直流充換電系統(tǒng)技術(shù)條件
- DBJ-T13-338-2020 建設(shè)工程施工現(xiàn)場(chǎng)遠(yuǎn)程視頻監(jiān)控系統(tǒng)建設(shè)應(yīng)用標(biāo)準(zhǔn)
- 2023年版加油站進(jìn)入受限空間作業(yè)制度
- 2023年廣東廣州市中考語(yǔ)文真題及答案
- GB/T 7939.3-2023液壓傳動(dòng)連接試驗(yàn)方法第3部分:軟管總成
- 數(shù)據(jù)挖掘(第2版)PPT全套完整教學(xué)課件
- 第四章 新聞職業(yè)道德失范:虛假新聞1
- 運(yùn)動(dòng)技能學(xué)習(xí)與控制課件第一章運(yùn)動(dòng)技能學(xué)習(xí)與控制概述
- 穿堤涵閘工程施工方案
- 某污水處理廠設(shè)計(jì)倒置a2o工藝
- GB 29444-2012煤炭井工開采單位產(chǎn)品能源消耗限額
評(píng)論
0/150
提交評(píng)論