




已閱讀5頁,還剩50頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1,KETTLE基本知識講義,內(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報告地址:,5,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.2,6,KETTLE學(xué)習(xí)資料,1.,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)必須是kjb作業(yè)XML的根節(jié)點(diǎn)是,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/admin,13,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)用,Ifelse語句varbool=true;if(bool)/bool值為trueAlert(“正確”);else/bool值為falseAlert(“錯誤”);,33,JAVASCRIPT的基本應(yīng)用,for語句vararr=newArray(1,“2”,“thisisstring”);for(vari=0;iarr.length;i+)if(arri=2)Alert(“thevalueis”+arri);,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)用,異常處理trycatchtryvarvalue=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ù)格式=,例如-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:列出資源庫里的目錄/listjobs:列出指定目錄下的作業(yè)/listrep:列出可用資源庫/exprep:將資源庫里的所有對象導(dǎo)出到XML文件中/norep:不要將日志寫到資源庫中/safemode:安全模式下運(yùn)行:有額外的檢查/version:顯示轉(zhuǎn)換的版本,校訂和創(chuàng)建日期/param:設(shè)置參數(shù),參數(shù)格式=,例如-param:FOO=bar/listparam:列出轉(zhuǎn)換里已經(jīng)設(shè)置好的參數(shù)/export:把作業(yè)依賴的所有資源導(dǎo)出到一個zip文件里/maxloglines:內(nèi)存中保存日志的最大日志行數(shù)/maxlogtimeout:內(nèi)存中保存日志的最長時間,5
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 京東集團(tuán)快遞集體合同范例
- 借款股權(quán)合同范本規(guī)定
- 低價轉(zhuǎn)讓文具套裝合同范例
- 代理銷售系列汽車合同范例
- 乳品購銷合同范例
- 養(yǎng)生店入股合同范例
- 公布勞動合同范例
- plc調(diào)試合同范例
- 企業(yè)產(chǎn)品采購合同范例
- 農(nóng)莊用地出售合同范例
- 電子商務(wù)專升本考試(習(xí)題卷7)
- 人工智能:現(xiàn)代方法
- 北京醫(yī)調(diào)委官網(wǎng)換方申請書
- 跨境電商:理論、操作與實(shí)務(wù)(微課版 第2版)PPT最終1-5章 10 店鋪優(yōu)化-v1
- 四川梓潼林江苧麻紡織有限責(zé)任公司 縣林江苧麻公司利用補(bǔ)償貿(mào)易技術(shù)改造(擴(kuò)大)生產(chǎn)能力環(huán)評報告
- 公路工程交工竣工驗(yàn)收課件
- 胎心監(jiān)護(hù)儀使用過程中出現(xiàn)意外情況的護(hù)理應(yīng)急預(yù)案及處理流程
- 第講 發(fā)達(dá)資本主義國家經(jīng)濟(jì)與政治
- 城市熱力網(wǎng)設(shè)計(jì)規(guī)范標(biāo)準(zhǔn)
- 2023年06月上海市浦東新區(qū)臨港新片區(qū)文員招考聘用筆試題庫含答案詳解
- 2023年國網(wǎng)數(shù)字科技控股有限公司(國網(wǎng)雄安金融科技集團(tuán)有限公司) 招聘筆試備考題庫及答案解析
評論
0/150
提交評論