BI商業(yè)智能:Kettle培訓(xùn)文檔_第1頁
BI商業(yè)智能:Kettle培訓(xùn)文檔_第2頁
BI商業(yè)智能:Kettle培訓(xùn)文檔_第3頁
BI商業(yè)智能:Kettle培訓(xùn)文檔_第4頁
BI商業(yè)智能:Kettle培訓(xùn)文檔_第5頁
已閱讀5頁,還剩45頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

蘇州百咨信息技術(shù)Kettle使用培訓(xùn)文檔什么是ETL&Kettle?Kettle使用-ETL&KettleETL〔Extract-Transform-Load的縮寫,即數(shù)據(jù)抽取、轉(zhuǎn)換、裝載的過程〕,ETL負(fù)責(zé)將分布的、異構(gòu)數(shù)據(jù)源中的數(shù)據(jù)如關(guān)系數(shù)據(jù)、平面數(shù)據(jù)文件等抽取到臨時中間層后進(jìn)行清洗、轉(zhuǎn)換、集成,最后加載到數(shù)據(jù)倉庫或數(shù)據(jù)集市中,成為聯(lián)機(jī)分析處理、數(shù)據(jù)挖掘的根底。Kettle是一款國外開源的etl工具,純java編寫,綠色無需安裝,數(shù)據(jù)抽取高效穩(wěn)定。Kettle中有兩種腳本文件,transformation和job,transformation完成針對數(shù)據(jù)的根底轉(zhuǎn)換,job那么完成整個工作流的控制。Kettle的下載&部署Kettle使用-下載&部署Kettle可以在開源網(wǎng)站:///projects/pentaho/files/進(jìn)行下載下載kettle壓縮包,因kettle為綠色軟件,解壓縮到任意本地路徑即可Kettle的運(yùn)行Kettle使用-運(yùn)行點(diǎn)擊data-integration-3.2文件夾進(jìn)入到Kettle目錄,如果Kettle部署在windows環(huán)境下,雙擊運(yùn)行可執(zhí)行文件,出現(xiàn)如下界面菜單區(qū)控件區(qū)設(shè)計區(qū)Kettle菜單介紹文件:新建Ktr,Kjb,保存,翻開,打印等編輯:設(shè)置環(huán)境變量,操作的重做和撤銷等視圖:可以放大或縮小設(shè)計區(qū)控件的大小資源庫:可以連接和斷開資源庫轉(zhuǎn)換:可以對轉(zhuǎn)換進(jìn)行運(yùn)行、調(diào)試、預(yù)覽作業(yè):可以對作業(yè)進(jìn)行運(yùn)行、預(yù)覽向?qū)В嚎梢詫?chuàng)立數(shù)據(jù)庫、復(fù)制拷貝進(jìn)行向?qū)椭哼M(jìn)行幫助相關(guān)操作Kettle使用-菜單介紹新建一個轉(zhuǎn)換&工作Kettle使用-ktr&kjb點(diǎn)擊頁面左上角的可以創(chuàng)立一個新的轉(zhuǎn)換〔transformation〕,點(diǎn)擊保存到本地路徑,例如保存到D:/etltest下,保存文件名為EtltestTrans,kettle默認(rèn)transformation文件保存后后綴名為ktr點(diǎn)擊頁面左上角的創(chuàng)立一個新的工作〔job〕,點(diǎn)擊保存到本地路徑,例如保存到D:/etltest下,保存文件名為EtltestJob,kettle默認(rèn)job文件保存后后綴名為kjbKettle使用-新建KtrKettle使用-新建KjbTransformation控件介紹Kettle使用-transformationTransformation菜單介紹主對象樹菜單列出的是一個transformation中根本的屬性,可以通過各個節(jié)點(diǎn)來查看。DB連接:顯示當(dāng)前transformation中的數(shù)據(jù)庫連接,每一個transformation的數(shù)據(jù)庫連接都需要單獨(dú)配置。Steps:一個transformation中應(yīng)用到的環(huán)節(jié)列表Hops:一個transformation中應(yīng)用到的節(jié)點(diǎn)連接列表Kettle使用-transformationTransformation菜單介紹核心對象菜單列出的是transformation中可以調(diào)用的環(huán)節(jié)列表,可以通過鼠標(biāo)拖動的方式對環(huán)節(jié)進(jìn)行添加。常用環(huán)節(jié)介紹輸入:輸入環(huán)節(jié)輸出:輸出環(huán)節(jié)查詢:查詢環(huán)節(jié)轉(zhuǎn)換:轉(zhuǎn)化環(huán)節(jié)連接:連接環(huán)節(jié)腳本:腳本環(huán)節(jié)數(shù)據(jù)倉庫:數(shù)據(jù)倉庫環(huán)節(jié)Kettle使用-Transformation每一個環(huán)節(jié)可以通過鼠標(biāo)拖動來將環(huán)節(jié)添加到主窗口中。并可通過shift+鼠標(biāo)拖動,實(shí)現(xiàn)環(huán)節(jié)之間的連接。類別環(huán)節(jié)名稱功能說明Input文本文件輸入從本地文本文件輸入數(shù)據(jù)表輸入從數(shù)據(jù)庫表中輸入數(shù)據(jù)獲取系統(tǒng)信息讀取系統(tǒng)信息輸入數(shù)據(jù)Output文本文件輸出將處理結(jié)果輸出到文本文件表輸出將處理結(jié)果輸出到數(shù)據(jù)庫表插入/更新根據(jù)處理結(jié)果對數(shù)據(jù)庫表機(jī)型插入更新,如果數(shù)據(jù)庫中不存在相關(guān)記錄則插入,否則為更新。會根據(jù)查詢條件中字段進(jìn)行判斷更新根據(jù)處理結(jié)果對數(shù)據(jù)庫進(jìn)行更新,若需要更新的數(shù)據(jù)在數(shù)據(jù)庫表中無記錄,則會報錯停止刪除根據(jù)處理結(jié)果對數(shù)據(jù)庫記錄進(jìn)行刪除,若需要刪除的數(shù)據(jù)在數(shù)據(jù)庫表中無記錄,則會報錯停止Lookup數(shù)據(jù)庫查詢根據(jù)設(shè)定的查詢條件,對目標(biāo)表進(jìn)行查詢,返回需要的結(jié)果字段流查詢將目標(biāo)表讀取到內(nèi)存,通過查詢條件對內(nèi)存中數(shù)據(jù)集進(jìn)行查詢調(diào)用DB存儲過程調(diào)用數(shù)據(jù)庫存儲過程Transform字段選擇選擇需要的字段,過濾掉不要的字段,也可做數(shù)據(jù)庫字段對應(yīng)過濾記錄根據(jù)條件對記錄進(jìn)行分類排序記錄將數(shù)據(jù)根據(jù)某以條件,進(jìn)行排序空操作無操作增加常量增加需要的常量字段ScriptingModifiedJavaScriptValue擴(kuò)展功能,編寫JavaScript腳本,對數(shù)據(jù)進(jìn)行相應(yīng)處理Mapping映射(子轉(zhuǎn)換)數(shù)據(jù)映射JobSatVariables設(shè)置環(huán)境變量GetVariables獲取環(huán)境變量Job菜單介紹Kettle使用-JobJob菜單介紹主對象樹菜單列出的是一個Job中根本的屬性,可以通過各個節(jié)點(diǎn)來查看。DB連接:顯示當(dāng)前Job中的數(shù)據(jù)庫連接,每一個Job的數(shù)據(jù)庫連接都需要單獨(dú)配置。作業(yè)工程:一個Job中引用的環(huán)節(jié)列表Kettle使用-Job菜單介紹核心對象菜單列出的是Job中可以調(diào)用的環(huán)節(jié)列表,可以通過鼠標(biāo)拖動的方式對環(huán)節(jié)進(jìn)行添加。每一個環(huán)節(jié)可以通過鼠標(biāo)拖動來將環(huán)節(jié)添加到主窗口中。并可通過shift+鼠標(biāo)拖動,實(shí)現(xiàn)環(huán)節(jié)之間的連接。Kettle使用-Job類別環(huán)節(jié)名稱功能說明JobentriesSTART開始DUMMY結(jié)束Transformation引用Transformation流程Job引用Job流程Shell調(diào)用Shell腳本SQL執(zhí)行sql語句FTP通過FTP下載Tableexists檢查目標(biāo)表是否存在,返回布爾值Fileexists檢查文件是否存在,返回布爾值Javascript執(zhí)行JavaScript腳本Createfile創(chuàng)建文件Deletefile刪除文件Waitforfile等待文件,文件出現(xiàn)后繼續(xù)下一個環(huán)節(jié)FileCompare文件比較,返回布爾值Waitfor等待時間,設(shè)定一段時間,kettle流程處于等待狀態(tài)Zipfile壓縮文件為ZIP包Transformation&Job實(shí)例Kettle使用-作業(yè)案例背景:找出不同性別,不同年齡,不同職業(yè)的用戶對于哪類產(chǎn)品比較感興趣,為建立數(shù)據(jù)倉庫,進(jìn)行數(shù)據(jù)挖掘和OLAP分析做準(zhǔn)備。作業(yè):根據(jù)客戶,訂單,產(chǎn)品表中的數(shù)據(jù),生成對應(yīng)的數(shù)據(jù)文件,將數(shù)據(jù)文件可以導(dǎo)入到對應(yīng)表中,并且可以用job來調(diào)用整個流程。成果:1,提交對應(yīng)的Kettle文件2,Kettle流程可以正確執(zhí)行,不報錯3,對應(yīng)的數(shù)據(jù)文件生成并格式無誤,對應(yīng)表中有數(shù)據(jù)并格式無誤4,通過數(shù)據(jù)清洗抓取有用數(shù)據(jù),作為以后分析的數(shù)據(jù)根底Kettle使用-作業(yè)說明:數(shù)據(jù)庫中存在四張表:表名字段名說明關(guān)系USERuserid客戶IDusername客戶姓名usernsex客戶性別userposition客戶職位userage客戶年齡PRODUCTproductid產(chǎn)品IDproductname產(chǎn)品名稱ORDERorderid訂單IDuserid用戶ID和USER.userid對應(yīng)productid產(chǎn)品ID和PRODUCT.productid對應(yīng)buytime購買時間Kettle使用-作業(yè)表名字段名說明關(guān)系ORDER_ALLorder_idIDuserid客戶IDusername客戶名usersex客戶性別userposition客戶職業(yè)userage客戶年齡orderid訂單IDproductid產(chǎn)品IDbuytime購買時間productname產(chǎn)品名稱說明:Kettle使用-作業(yè)說明:USER表存放客戶信息,PRODUCT表存放產(chǎn)品信息,ORDER表存放訂單信息一個客戶對應(yīng)多個訂單,一個產(chǎn)品對應(yīng)多個訂單ORDER_ALL表存放結(jié)果數(shù)據(jù),需要從相關(guān)的表中獲取到字段中的信息,獲取不到的信息可以通過相關(guān)處理或添加默認(rèn)值的方式寫入。Kettle使用-作業(yè)-建立過程準(zhǔn)備以上數(shù)據(jù)庫表Kettle使用-作業(yè)-建立過程按鍵盤Ctrl+N新建一個轉(zhuǎn)換,取名為Order.ktrKettle使用-作業(yè)-建立過程雙擊DB連接,建立MYSQL連接并測試成功Kettle使用-作業(yè)-建立過程切換到核心對象,拖動表輸入到設(shè)計區(qū)域Kettle使用-作業(yè)-建立過程雙擊表輸入控件設(shè)置表輸入各項屬性Kettle使用-作業(yè)-建立過程再拖動一個表輸入到設(shè)計區(qū)域并設(shè)置各項屬性Kettle使用-作業(yè)-建立過程拖動一個流查詢到設(shè)計區(qū)域Kettle使用-作業(yè)-建立過程設(shè)置流查詢各項屬性并連接2個表輸入Kettle使用-作業(yè)-建立過程再拖動一個表輸入到設(shè)計區(qū)域并設(shè)置各項屬性Kettle使用-作業(yè)-建立過程拖動一個流查詢到設(shè)計區(qū)域并設(shè)置流查詢各項屬性Kettle使用-作業(yè)-建立過程再拖動一個文本輸出到設(shè)計區(qū)域并設(shè)置輸出屬性Kettle使用-作業(yè)-建立過程點(diǎn)擊運(yùn)行ktrKettle使用-作業(yè)-建立過程如果出現(xiàn)以下界面,就代表運(yùn)行成功了Kettle使用-作業(yè)-建立過程然后我們查看E:\pentaho\KettleDemo\file.txt.代表已經(jīng)把查詢的數(shù)據(jù)輸出在了txt文件里面,這個Ktr就順利完成了Kettle使用-作業(yè)-建立過程接下來我們把生成的txt文件里的字段值再輸入到數(shù)據(jù)庫中拖動一個文本文件輸入到設(shè)計區(qū)域,并設(shè)置各項屬性Kettle使用-作業(yè)-建立過程再拖動一個字段選擇到設(shè)計區(qū)域并設(shè)置各項屬性Kettle使用-

溫馨提示

  • 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

提交評論