KETTLE基本知識培訓(xùn)_第1頁
KETTLE基本知識培訓(xùn)_第2頁
KETTLE基本知識培訓(xùn)_第3頁
KETTLE基本知識培訓(xùn)_第4頁
KETTLE基本知識培訓(xùn)_第5頁
已閱讀5頁,還剩50頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

KETTLE基本知識講義1精品課件內(nèi)容KETTLE介紹KETTLE的要求環(huán)境(JDK版本)、安裝、基本操作。KETTLE的組件的類型基本說明(作業(yè)與轉(zhuǎn)換)案例JAVASCRIPT的基本應(yīng)用KETTLE輸出日志說明啟動腳本說明。2精品課件簡介Kettle是一款國外開源的etl工具,純java編寫,可以在Window、Linux、Unix上運(yùn)行,綠色無需安裝,數(shù)據(jù)抽取高效穩(wěn)定。ETL是數(shù)據(jù)抽?。‥xtract)、清洗(Cleaning)、轉(zhuǎn)換(Transform)、裝載(Load)的過程。3精品課件ETL實(shí)現(xiàn)方式手工編碼,編寫腳本,Java,Python商業(yè)ETL工具軟件InformaticaIBMDataStageMicrosoftSSISOracleODI開源ETL工具軟件KettleTalendCloverETLKetl,Octopus…4精品課件Kettle基本情況源代碼下載地址:svn:///svnkettleroot/Kettle/trunk官方文檔:Bug報告地址:/browse/PDI官方論壇:/forumdisplay.php?f=135中文論壇:當(dāng)前版本:Version5.2原作者:MattLicense:4.3以前LGPL,4.3以后改為Apache25精品課件Kettle歷史2006年Kettle2.2,Kettle2.3(Kettle開源,License為LGPL)2007年Kettle2.4,Kettle2.5(被Pentaho公司收購,更名為PDI)2008年Kettle3.0,Kettle3.12009年Kettle3.2(一個使用時間較長的穩(wěn)定版本)2010年Kettle4.0,Kettle4.12011年Kettle4.22012年Kettle4.3,Kettle4.4(License變更為Apache2,支持大數(shù)據(jù))2013年Kettle5.02014年Kettle5.1、5.26精品課件KETTLE學(xué)習(xí)資料1./、/2.3.《KettleCookBook》4.《Pentaho3.2DataIntegrationBeginner’sGuide》5.《KettleSolution》6.Kettle源代碼7精品課件KETTLE的安裝運(yùn)行KETTLE要求先安裝JDK1.5版本或以上下載地址:http://sourceforge.jp/projects/sfnet_pentaho/releases/無需安裝下載后直接運(yùn)行spoon.bat即可8精品課件Kettle資源庫–-元數(shù)據(jù)元數(shù)據(jù)的通用概念:“描述性數(shù)據(jù)”或“數(shù)據(jù)的數(shù)據(jù)”ETL的元數(shù)據(jù):

描述ETL要執(zhí)行的任務(wù)在Kettle里元數(shù)據(jù)的存儲方式:資源庫資源庫包括文件資源庫、數(shù)據(jù)庫資源庫Kettle4.0以后資源庫類型可以插件擴(kuò)展XML文件ktr轉(zhuǎn)換文件的XML的根節(jié)點(diǎn)必須是<transformation>kjb作業(yè)XML的根節(jié)點(diǎn)是<job>9精品課件KETTLE的組件的類型基本說明(作業(yè)與轉(zhuǎn)換)Kettle中有兩種腳本文件,transformation(轉(zhuǎn)換,后綴為.ktr)和job(作業(yè),后綴為.kjb),transformation完成針對數(shù)據(jù)的基礎(chǔ)轉(zhuǎn)換,好比工廠里的生產(chǎn)流水線,每個組件相當(dāng)于一個員工;job則完成整個工作流的控制,好比工廠里的管理。如果用記事本打開文件可發(fā)現(xiàn)轉(zhuǎn)換和作業(yè)都是xml類型文件。10精品課件Kettle的幾個子程序Spoon.bat:圖形界面方式啟動作業(yè)和轉(zhuǎn)換設(shè)計(jì)器。Pan.bat:命令行方式執(zhí)行轉(zhuǎn)換。Kitchen.bat:命令行方式執(zhí)行作業(yè)。Carte.bat:啟動web服務(wù),用于Kettle的遠(yuǎn)程運(yùn)行或集群運(yùn)行。Encr.bat:密碼加密11精品課件KETTLE的組件的類型基本說明(作業(yè)與轉(zhuǎn)換)作業(yè):分串行執(zhí)行和并行執(zhí)行,串行執(zhí)行是先執(zhí)行完其中一條線再執(zhí)行另一條線,并行是兩條線同時執(zhí)行,同一條線上的兩個步聚會先執(zhí)行前面的再執(zhí)行后面的,每個步驟執(zhí)行結(jié)果分兩種:true(成功)/false(失敗),根據(jù)返回結(jié)果可以控制流程走向。12精品課件轉(zhuǎn)換和作業(yè)Kettle的Spoon設(shè)計(jì)器用來設(shè)計(jì)轉(zhuǎn)換(Transformation)和作業(yè)(Job)。轉(zhuǎn)換主要是針對數(shù)據(jù)的各種處理,一個轉(zhuǎn)換里可以包含多個步驟(Step)。作業(yè)是比轉(zhuǎn)換更高一級的處理流程,一個作業(yè)里包括多個作業(yè)項(xiàng)(JobEntry),一個作業(yè)項(xiàng)代表了一項(xiàng)工作,轉(zhuǎn)換也是一個作業(yè)項(xiàng)。用戶通過Spoon創(chuàng)建的轉(zhuǎn)換、作業(yè)、數(shù)據(jù)庫連接等可以保存在資源庫和XML文件中。轉(zhuǎn)換文件以ktr為擴(kuò)展名,作業(yè)文件以kjb為擴(kuò)展名資源庫可以是各種常見的數(shù)據(jù)庫??梢栽赟poon中自動創(chuàng)建資源庫,資源庫默認(rèn)用戶名和密碼是admin/admin13精品課件KETTLE的組件的類型基本說明(作業(yè)與轉(zhuǎn)換)作業(yè)流程圖說明14精品課件KETTLE的組件的類型基本說明(作業(yè)與轉(zhuǎn)換)轉(zhuǎn)換:一開始所有步驟同時運(yùn)行,記錄會從最前端的步驟向后傳遞,傳遞到相應(yīng)步驟則該記錄被該步驟作相應(yīng)處理,處理完成再把記錄往后傳遞,記錄傳遞分復(fù)制和分發(fā)兩種模式。15精品課件KETTLE的組件的類型基本說明(作業(yè)與轉(zhuǎn)換)復(fù)制:把一份數(shù)據(jù)復(fù)制成多份,后面步驟各占一份。分發(fā):把一份數(shù)據(jù)平均分配給后面步驟。16精品課件KETTLE的組件的類型基本說明(作業(yè)與轉(zhuǎn)換)在轉(zhuǎn)換組件上右鍵->顯示輸入字段(顯示輸出字段)可以查看前面步驟流過來的記錄字段情況和該字段是后面步驟傳遞的字段信息情況。17精品課件基于表對表的同步表對表同步是最基本的同步方式之一實(shí)現(xiàn)步驟:一、建立源庫連接和目標(biāo)庫連接二、使用表輸入組件進(jìn)行源表數(shù)據(jù)讀取三、對記錄進(jìn)行適配整理四、使用表輸出組件輸出到目標(biāo)表18精品課件基于表對表的同步新建一個轉(zhuǎn)換:文件->新建->轉(zhuǎn)換19精品課件基于表對表的同步20精品課件基于表對表的同步21精品課件基于表對表的同步22精品課件基于表對表的同步23精品課件基于文件到表的同步新建一個轉(zhuǎn)換流程:從文件讀取記錄插入到數(shù)據(jù)庫中24精品課件基于文件到表的同步25精品課件基于文件到表的同步26精品課件基于文件到表的同步27精品課件基于表到文件的同步新建一個轉(zhuǎn)換實(shí)現(xiàn)從表里讀取記錄生成文件28精品課件基于表到文件的同步29精品課件基于表到文件的同步30精品課件基于表到文件的同步31精品課件JAVASCRIPT的基本應(yīng)用JAVASCRIPT基本語法:varjsStr=“hellokello”;//定義一個字符串變量varjavaStr=newjava.lang.String(“javaString”);//java.lang.String實(shí)例writeToLog(“m”,str);//打印字符串到日志輸出varnum=1;//定義一個整型vararr=newArray();//定義一個數(shù)組無任何元素arr.push(“添加一個元素到數(shù)組未位”);vararr1=newArray(3,“FTP補(bǔ)采”);//定義一個數(shù)組

32精品課件JAVASCRIPT的基本應(yīng)用If…else語句varbool=true;if(bool){//bool值為trueAlert(“正確”);}else{//bool值為falseAlert(“錯誤”);}33精品課件JAVASCRIPT的基本應(yīng)用

for語句vararr=newArray(1,“2”,“thisisstring”);for(vari=0;i<arr.length;i++){if(arr[i]==2){Alert(“thevalueis”+arr[i]);}}34精品課件JAVASCRIPT的基本應(yīng)用方法定義varstr=“whj”;//全局變量functionsayHello(name){

//帶一個參數(shù)的方法if(name==null)return“hello“+str;elsereturn“hello“+name;//返回一個字符串}writeToLog(“m”,sayHello());//方法調(diào)用35精品課件JAVASCRIPT的基本應(yīng)用異常處理try…catch…try{varvalue=100/0;}catch(e){thrownewjava.lang.Exception(“除數(shù)不能為0:"+e);}異常處理通常是防止未知錯誤產(chǎn)生所采取的處理措施。異常處理的好處是你不用再絞盡腦汁去考慮各種錯誤,這為處理某一類錯誤提供了一個很有效的方法,使編程效率大大提高。36精品課件JAVASCRIPT的基本應(yīng)用37精品課件作業(yè)調(diào)用作業(yè)、轉(zhuǎn)換文件->新建->作業(yè)作業(yè)可以調(diào)用作業(yè),這樣方便流程控制。38精品課件作業(yè)調(diào)用作業(yè)、轉(zhuǎn)換39精品課件作業(yè)調(diào)用作業(yè)、轉(zhuǎn)換作業(yè)也可以調(diào)用轉(zhuǎn)換40精品課件作業(yè)調(diào)用作業(yè)、轉(zhuǎn)換41精品課件KETTLE自帶例子菜單:文件->從URL打開文件->samples也可以直接到KETTLE工具下的samples目錄打開42精品課件KETTLE輸出日志說明日志輸出是檢查程序運(yùn)行情況的重要手段,也是程序維護(hù)必不可少的環(huán)節(jié)。KETTLE在日志輸出方面也有很好的控制功能。KETTLE日志輸出共分七個等級:沒有日志(Nothing)、錯誤日志(Error)、最小日志(Minimal)、基本日志(Basic)、詳細(xì)日志(Detailed)、調(diào)試日志(Debug)、行級日志(Rowlevel)。默認(rèn)為基本日志。43精品課件KETTLE輸出日志說明Nothing:不顯示任何輸出Error:僅僅顯示錯誤信息Minimal:使用最小的日志Basic:缺省的日志級別Detailed:給出日志輸出的細(xì)節(jié)Debug:調(diào)試目的,調(diào)試輸出Rowlevel:打印出每一行記錄的信息44精品課件KETTLE輸出日志說明作業(yè)日志輸出說明作業(yè)運(yùn)行狀態(tài)有兩種:true(成功)/false(失敗)。注意:失敗不代表運(yùn)行異常、出錯。有時只是用來控制流程的一種決策、一種手段。45精品課件KETTLE輸出日志說明程序異常退出情況46精品課件KETTLE輸出日志說明轉(zhuǎn)換日志輸出說明I:當(dāng)前步驟生成的記錄數(shù)(從表輸入、文件讀入)O:當(dāng)前步驟輸出的記錄數(shù)(輸出到文件、表)R:當(dāng)前步驟從前一步聚讀取的記錄數(shù)W:當(dāng)前步驟向后面步驟拋出的記錄數(shù)U:當(dāng)前步驟更新過的記錄數(shù)E:當(dāng)前步驟處理出錯的記錄數(shù)47精品課件啟動腳本說明KETTLE程序啟動分兩種,一種是作業(yè)、一種是轉(zhuǎn)換。作業(yè)調(diào)用啟動腳本:kitchen.sh(kitchen.bat)轉(zhuǎn)換調(diào)用啟動腳本:pan.sh(pan.bat)48精品課件Kettle運(yùn)行方式–Pan命令行參數(shù)名列表:/rep:資源庫名稱/user:資源庫用戶名/pass:資源庫密碼/trans:要啟動的轉(zhuǎn)換名稱/dir:目錄(不要忘了前綴/)/file:要啟動的文件名(轉(zhuǎn)換文件)/level:日志級別(Error,Nothing,Minimal,Basic,Detailed,Debug,Rowlevel)/logfile:要寫入的日志文件/listdir:列出資源庫里的目錄/listtrans:列出指定目錄下的轉(zhuǎn)換/listrep:列出可用資源庫/exprep:將資源庫里的所有對象導(dǎo)出到XML文件中/norep:不要將日志寫到資源庫中/safemode:安全模式下運(yùn)行:有額外的檢查/version:顯示轉(zhuǎn)換的版本,校訂和創(chuàng)建日期/param:設(shè)置參數(shù),參數(shù)格式<NAME>=<VALUE>,例如-param:FOO=bar/listparam:列出轉(zhuǎn)換里已經(jīng)設(shè)置好的參數(shù)。/maxloglines:內(nèi)存中保存日志的最大日志行數(shù)/maxlogtimeout:內(nèi)存中保存日志的最長時間49精品課件Kettle運(yùn)行方式–Kitchen命令行參數(shù)名列表:/rep:資源庫名稱/user:資源庫用戶名/pass:資源庫密碼/job:要啟動的作業(yè)名稱/dir:目錄(不要忘了前綴/)/file:要啟動的文件名(轉(zhuǎn)換文件)/level:日志級別(Error,Nothing,Minimal,Basic,Detailed,Debug,Rowlevel)/logfile:要寫入的日志文件/listdir:列出資源庫里的目錄/l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論