《KETTLE基礎培訓》_第1頁
《KETTLE基礎培訓》_第2頁
《KETTLE基礎培訓》_第3頁
《KETTLE基礎培訓》_第4頁
《KETTLE基礎培訓》_第5頁
已閱讀5頁,還剩41頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、Kettle 基礎基礎培訓培訓 .目錄一、一、ETL介紹介紹二、二、 Kettle 介紹介紹三、三、 Kettle的要求環(huán)境(的要求環(huán)境(JDK版本)、安裝、基本操作。版本)、安裝、基本操作。四、四、 Kettle的組件的類型基本說明(作業(yè)與轉換)的組件的類型基本說明(作業(yè)與轉換)五、基于表對表的同步五、基于表對表的同步六、基于文件到表的同步六、基于文件到表的同步七、基于表到文件的同步七、基于表到文件的同步八、八、 JAVASCRIPT的基本應用的基本應用九、文件九、文件FTP下載、上傳。下載、上傳。十、作業(yè)調用作業(yè)、轉換。十、作業(yè)調用作業(yè)、轉換。十一、啟動腳本說明。十一、啟動腳本說明。十二、

2、十二、 JAVA調用作業(yè)、轉換調用作業(yè)、轉換十三、使用原則十三、使用原則.簡介ETL ETL(即數(shù)據(jù)抽取、轉換、裝載的過程)作為BI/DW(Business Intelligence)的核心和靈魂,能夠按照統(tǒng)一的規(guī)則集成并提高數(shù)據(jù)的價值,是負責完成數(shù)據(jù)從數(shù)據(jù)源向目標數(shù)據(jù)倉庫轉化的過程,是實施數(shù)據(jù)倉庫的重要步驟。 ETL是數(shù)據(jù)抽取(Extract)、清洗(Cleaning)、轉換(Transform)、裝載(Load)的過程。是構建數(shù)據(jù)倉庫的重要一環(huán),用戶從數(shù)據(jù)源抽取出所需的數(shù)據(jù),經過數(shù)據(jù)清洗,最終按照預先定義好的數(shù)據(jù)倉庫模型,將數(shù)據(jù)加載到數(shù)據(jù)倉庫中去。.簡介Kettle Kettle是一款國外

3、開源的ETL工具,純java編寫,可以在Window、Linux、Unix上運行,綠色無需安裝,數(shù)據(jù)抽取高效穩(wěn)定。 Kettle 中文名稱叫水壺。 Kettle這個ETL工具集,它允許你管理來自不同數(shù)據(jù)庫的數(shù)據(jù),通過提供一個圖形化的用戶環(huán)境來描述你想做什么,而不是你想怎么做。 Kettle中有兩種腳本文件,transformation和job,transformation完成針對數(shù)據(jù)的基礎轉換,job則完成整個工作流的控制。.KETTLE的要求環(huán)境(的要求環(huán)境(JDK版本)、安裝、基本操作版本)、安裝、基本操作 KETTLE要求先安裝版本或以上 無需安裝下載后直接運行即可5.KETTLE的組件

4、的類型基本說明(作業(yè)與轉換) Kettle中有兩種腳本文件,transformation(轉換,后綴為.ktr)和job(作業(yè), 后綴為.kjb),transformation完成針對數(shù)據(jù)的基礎轉換,好比工廠里的生產流水線,每個組件相當于一個員工;job則完成整個工作流的控制,好比工廠里的管理。 如果用記事本打開文件可發(fā)現(xiàn)轉換和作業(yè)都是xml類型文件。6.KETTLE的組件的類型基本說明(作業(yè)與轉換)7 作業(yè):分串行執(zhí)行和并行執(zhí)行,串行執(zhí)行是先執(zhí)行完其中一條線再執(zhí)行另一條線,并行是兩條線同時執(zhí)行,同一條線上的兩個步聚會先執(zhí)行前面的再執(zhí)行后面的,每個步驟執(zhí)行結果分兩種:true(成功)/fals

5、e(失敗),根據(jù)返回結果可以控制流程走向。.KETTLE的組件的類型基本說明(作業(yè)與轉換)8 作業(yè)流程圖說明.KETTLE的組件的類型基本說明(作業(yè)與轉換)9 轉換:一傳遞分復制和分發(fā)兩種模式。開始所有步驟同時運行,記錄會從最前端的步驟向后傳遞,傳遞到相應步驟則該記錄被該步驟作相應處理,處理完成再把記錄往后傳遞,記錄.KETTLE的組件的類型基本說明(作業(yè)與轉換)10 復制:把一份數(shù)據(jù)復制成多份,后面步驟各占一份。 分發(fā):把一份數(shù)據(jù)平均分配給后面步驟。.基于表對表的同步11 表對表同步是最基本的同步方式之一 實現(xiàn)步驟:一、建立源庫連接和目標庫連接二、使用表輸入組件進行源表數(shù)據(jù)讀取三、對記錄進行

6、適配整理四、使用表輸出組件輸出到目標表.KETTLE的組件的類型基本說明(作業(yè)與轉換)12 新建一個轉換:文件新建轉換.基于表對表的同步13.基于表對表的同步14.基于表對表的同步15.基于表對表的同步16.基于文件到表的同步17 新建一個轉換 流程:從文件讀取記錄插入到數(shù)據(jù)庫中.基于文件到表的同步18.基于文件到表的同步19.基于文件到表的同步20.基于表到文件的同步21 新建一個轉換 實現(xiàn)從表里讀取記錄生成文件.基于表到文件的同步22.基于表到文件的同步23.基于表到文件的同步24.JAVASCRIPT的基本應用25.文件FTP下載、上傳26 作業(yè):FTP下載 從FTP上下載相應文件到指定

7、目錄下.文件FTP下載、上傳27.文件FTP下載、上傳28.文件FTP下載、上傳29 作業(yè):FTP上傳 上傳本地文件到相應FTP指定目錄上.文件FTP下載、上傳30.作業(yè)調用作業(yè)、轉換31 文件新建作業(yè) 作業(yè)可以調用作業(yè),這樣方便流程控制。.作業(yè)調用作業(yè)、轉換32.作業(yè)調用作業(yè)、轉換33 作業(yè)也可以調用轉換.作業(yè)調用作業(yè)、轉換34.啟動腳本說明35 KETTLE程序啟動分兩種,一種是作業(yè)、一種是轉換。 作業(yè)調用啟動腳本:() 轉換調用啟動腳本:( pan.bat).啟動腳本說明36 ()說明.啟動腳本說明37 Kitchen.bat(span.bat)說明.啟動腳本說明38 WINDOWS系統(tǒng)

8、下的作業(yè)啟動腳本寫法 /file 作業(yè)入口路徑 /level 日志輸出等級 /logfile 日志輸出文件.啟動腳本說明39 LINUX系統(tǒng)下的啟動腳本寫法.啟動腳本說明40 轉換調動腳本寫法 WINDOWS和LINUX系統(tǒng)的啟動腳本的寫法基本一樣,就是的區(qū)別.Java調用 引用Kettle jar包.Java調用JOB傳入變量傳入變量JOB文件設置變量:變量變量傳遞:傳遞:Variable substitution 選中.Java調用JOB調用JOBJobMeta jobMeta = new JobMeta(jobPath, null);JVM設置變量:System.getPropertie

9、s().setProperty(key, value);Job job=new Job(null, jobMeta);job.start();job.waitUntilFinished();.Java調用KTR 傳入變量.Java調用KTR 調用ktrTransMeta localTransMeta = localTransMeta = new TransMeta(ktrPath);設置變量localTransMeta.setVariable(key,value)Trans tran=new Trans(localTransMeta )tran.execute(null);tran.waitUntilFinished();.使用原則 可以使用sql 來做的一些操作盡量用sql ; Group , merge , stream lookup ,split field 這些操作都是比較慢的,想辦法避免它用sql 就用sql 盡量避免使用update , delete 操作,尤其是update , 如果可以把update 變成先delete , 后insert . 盡量不要用kettle 的calculate 計算步驟,能用數(shù)據(jù)庫本身的sql 就用sql ,不能用sql 就盡量想辦法用procedure , 實在不行才是calculate 步驟. 能使用truncate tab

溫馨提示

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

評論

0/150

提交評論