版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
開啟ETL之旅認(rèn)識(shí)ETL配置Kettle運(yùn)行環(huán)境熟悉Kettle基本操作認(rèn)識(shí)ETL任務(wù)描述ETL是對(duì)數(shù)據(jù)進(jìn)行抽取、轉(zhuǎn)換和裝載的過程,是共享或合并一個(gè)或多個(gè)企業(yè)應(yīng)用數(shù)據(jù),以及創(chuàng)建具有更多數(shù)據(jù)處理,如抽取、清洗、標(biāo)準(zhǔn)化、聚合、計(jì)算和裝載等數(shù)據(jù)操作功能的過程。本任務(wù)通過了解常用的ETL工具Kettle及其基本概念,使讀者熟悉Kettle的功能構(gòu)成、特點(diǎn)和應(yīng)用場(chǎng)景,更好地認(rèn)識(shí)ETL的作用和特點(diǎn)任務(wù)分析了解ETL基本概念和典型的ETL工具掌握Kettle運(yùn)行環(huán)境的安裝和配置熟悉Kettle的界面掌握Kettle的基礎(chǔ)操作了解ETLETL的3個(gè)字母分別代表Extract(抽?。?、Transform(轉(zhuǎn)換)和Load(裝載)ETL不僅僅是對(duì)一個(gè)企業(yè)部門、一個(gè)應(yīng)用系統(tǒng)數(shù)據(jù)的簡(jiǎn)單整理,更是跨部門、跨系統(tǒng)的數(shù)據(jù)整合和處理ETL在企業(yè)數(shù)據(jù)模型的基礎(chǔ)上,構(gòu)建合理的數(shù)據(jù)存儲(chǔ)模式,建立企業(yè)的數(shù)據(jù)交換平臺(tái)原本,ETL是數(shù)據(jù)倉(cāng)庫(kù)的一個(gè)環(huán)節(jié),負(fù)責(zé)將分布式的、異構(gòu)數(shù)據(jù)源中的數(shù)據(jù),進(jìn)行清洗、轉(zhuǎn)換、集成,最后加載至數(shù)據(jù)倉(cāng)庫(kù)現(xiàn)在,ETL也越來越多地應(yīng)用于信息系統(tǒng)中數(shù)據(jù)的遷移、交換和同步等場(chǎng)景中了解ETL主要包括數(shù)據(jù)的抽取、轉(zhuǎn)換和加工、裝載(輸出)3部分內(nèi)容源端數(shù)據(jù)按照業(yè)務(wù)需求,轉(zhuǎn)換成目標(biāo)端要求的數(shù)據(jù)(清洗和加工)轉(zhuǎn)換和加工將轉(zhuǎn)換后的數(shù)據(jù)裝載到指定數(shù)據(jù)庫(kù)或文件中裝載從數(shù)據(jù)源端的系統(tǒng)或文件中,抽取目標(biāo)端系統(tǒng)需要的數(shù)據(jù)抽取1.基本概念了解ETL為了實(shí)現(xiàn)數(shù)據(jù)的抽取、轉(zhuǎn)換和加工、裝載等功能,各個(gè)ETL工具一般會(huì)進(jìn)行部分功能上的擴(kuò)充,例如,工作流、調(diào)度引擎、規(guī)則引擎、腳本支持、統(tǒng)計(jì)信息等2.相關(guān)技術(shù)①ETL引擎中的數(shù)據(jù)轉(zhuǎn)換和加工②在數(shù)據(jù)庫(kù)中進(jìn)行數(shù)據(jù)加工數(shù)據(jù)抽取數(shù)據(jù)轉(zhuǎn)換和加工數(shù)據(jù)裝載①直接使用SQL語(yǔ)句進(jìn)行插入、更新、刪除操作②采用批量裝載方法,如BCP(導(dǎo)出)、BULK(導(dǎo)入)、關(guān)系數(shù)據(jù)庫(kù)特有的批量裝載工具或API①全量抽?、谠隽砍槿∵x擇ETL工具根據(jù)供應(yīng)商的類型,可將ETL工具分為兩種,一種是數(shù)據(jù)庫(kù)廠商自帶的ETL工具,如甲骨文數(shù)據(jù)倉(cāng)庫(kù)生成器(OracleWarehouseBuilder,OWB)、甲骨文數(shù)據(jù)生成器(OracleDataIntegrator,ODI)。另一種是第三方工具提供商,如Kettle、Informatica。開源世界中,也有很多的ETL工具,功能各異,強(qiáng)弱不一1.典型工具SQLServerIntegrationServicesKettleOracleDataIntegrator選擇ETL工具(1)OracleDataIntegrator甲骨文數(shù)據(jù)生成器(OracleDataIntegrator,ODI)前身是Sunopsis公司的數(shù)據(jù)集成平臺(tái)(ActiveIntegrationPlatform).ODI主要功能有以下特點(diǎn):使用CDC方式捕獲變更的數(shù)據(jù)支持并行處理和負(fù)載均衡完善的權(quán)限控制、版本管理功能支持?jǐn)?shù)據(jù)質(zhì)量檢查,清洗和回收臟數(shù)據(jù)支持與Java信息服務(wù)(JavaMessageService,JMS)消息中間件集成支持Web服務(wù)選擇ETL工具(2)SQLServerIntegrationServices微軟數(shù)據(jù)集成器(SQLServerIntegrationServices,SSIS)是SQLServer2005的新成員,有以下特點(diǎn):SSIS提供了數(shù)據(jù)相關(guān)的控制流、數(shù)據(jù)流、日志、變量、事件、連接管理等基礎(chǔ)設(shè)施控制流也稱為工作流或任務(wù)流,它更像工作流,在工作流中每個(gè)組件都是一個(gè)任務(wù),而這些任務(wù)是按預(yù)定義的順序執(zhí)行任務(wù)流中可能有分支,當(dāng)前任務(wù)的執(zhí)行結(jié)果決定沿哪條分支前進(jìn)數(shù)據(jù)流是新的概念。數(shù)據(jù)流也稱為流水線,主要是解決數(shù)據(jù)轉(zhuǎn)換的問題。數(shù)據(jù)流由一組預(yù)定義的轉(zhuǎn)換操作組成,通常,其起點(diǎn)是數(shù)據(jù)源(源表)、終點(diǎn)是數(shù)據(jù)的目的地(目標(biāo)表)。可以將數(shù)據(jù)流認(rèn)為是一個(gè)流水線的過程,在該過程中,每一行數(shù)據(jù)都是裝配線中需要處理的零件,而每一個(gè)轉(zhuǎn)換都是裝配線中的處理單元。選擇ETL工具(3)KettleKettle是Pentaho數(shù)據(jù)集成器(PentahoDataIntegration,PDI)的前身,由于Kettle已經(jīng)被廣大開發(fā)者接受,所以從業(yè)者都習(xí)慣性地把PDI也稱為Kettle。Kettle是“KettleE.T.T.L.Environment”的首字母縮寫。Kettle常見用途有以下5個(gè)方面:不同數(shù)據(jù)庫(kù)和應(yīng)用程序之間的數(shù)據(jù)遷移充分利用云、集群和大規(guī)模并行處理環(huán)境,將大量數(shù)據(jù)集加載至數(shù)據(jù)庫(kù)中通過從非常簡(jiǎn)單到非常復(fù)雜的轉(zhuǎn)換步驟進(jìn)行數(shù)據(jù)清理數(shù)據(jù)集成,包括為數(shù)據(jù)報(bào)表提供經(jīng)過ETL整合與處理的數(shù)據(jù)提供組件,為數(shù)據(jù)倉(cāng)庫(kù)創(chuàng)建緩慢變化維度和代理鍵選擇ETL工具在數(shù)據(jù)整合和處理中,選擇ETL工具,通常考慮以下6個(gè)方面的因素:對(duì)平臺(tái)的支持程度對(duì)數(shù)據(jù)源的支持程度抽取和裝載的性能是不是較高,且對(duì)業(yè)務(wù)系統(tǒng)的性能影響大不大,傾入性高不高數(shù)據(jù)轉(zhuǎn)換和加工的功能強(qiáng)不強(qiáng)是否具有管理和調(diào)度功能是否具有良好的集成性和開放性2.工具選擇選擇ETL工具Kettle的優(yōu)勢(shì)序號(hào)優(yōu)
勢(shì)描
述1開源軟件,無須付費(fèi),技術(shù)支持強(qiáng)純Java編寫,即使商業(yè)用戶也沒有限制。出現(xiàn)問題可以到社區(qū)咨詢,技術(shù)支持遍布全世界2支持多平臺(tái)可以在Windows、Linux、UNIX上運(yùn)行,數(shù)據(jù)抽取高效穩(wěn)定3圖形界面,易用性有非常容易使用的GUI圖形用戶界面(GraphicalUserInterface,GUI),基本上無須培訓(xùn)4部署簡(jiǎn)單,無須安裝純Java編寫,在不同平臺(tái)上部署時(shí),無須安裝5強(qiáng)大的基礎(chǔ)數(shù)據(jù)轉(zhuǎn)換和工作流控制擁有轉(zhuǎn)換和任務(wù)兩種腳本文件,有強(qiáng)大的基礎(chǔ)數(shù)據(jù)轉(zhuǎn)換和工作流控制,有較好的監(jiān)控日志6強(qiáng)大的任務(wù)管理和定時(shí)調(diào)度功能在任務(wù)管理中,使用開始組件模塊設(shè)置定時(shí)功能,可以以每日、每周或每月等方式設(shè)置定時(shí)執(zhí)行任務(wù);構(gòu)建任務(wù)流,并使用文件、數(shù)據(jù)庫(kù)表檢查組件,以及生成日志文件和郵件組件,管理和監(jiān)控任務(wù)流程的正確執(zhí)行7全面的數(shù)據(jù)訪問和支持支持非常廣泛的數(shù)據(jù)庫(kù)和數(shù)據(jù)文件,可以通過插件擴(kuò)展8要求技能不高,上手容易了解數(shù)據(jù)建模,熟悉ETL設(shè)計(jì)和SQL語(yǔ)句操作即可選擇ETL工具3.Kettle軟件簡(jiǎn)介允許用戶批量使用由CHEF設(shè)計(jì)的任務(wù),如使用一個(gè)時(shí)間調(diào)度器,由時(shí)間觸發(fā)執(zhí)行相應(yīng)的任務(wù)KITCHEN允許用戶使用時(shí)間調(diào)度器,批量運(yùn)行由SPOON設(shè)計(jì)的ETL轉(zhuǎn)換PAN允許用戶創(chuàng)建Job(作業(yè))任務(wù)CHEF用戶通過圖形界面來設(shè)計(jì)ETL轉(zhuǎn)換過程SPOON四大功能選擇ETL工具廣受用戶歡迎的ETL工具,Kettle具有以下特點(diǎn):(1)開源軟件,可以在多個(gè)常用的操作系統(tǒng)下運(yùn)行(2)圖形化操作,使用十分簡(jiǎn)單與方便(3)支持多種常用數(shù)據(jù)庫(kù)和文件的數(shù)據(jù)格式,適應(yīng)范圍廣(4)具有完整的工作流控制,能夠較好地控制復(fù)雜的數(shù)據(jù)轉(zhuǎn)換工作(5)提供定時(shí)調(diào)度功能,方便用戶及時(shí)處理數(shù)據(jù)選擇ETL工具從模式上劃分,Kettle主要有以下3種應(yīng)用場(chǎng)景:表視圖模式文件模式前置機(jī)模式選擇ETL工具從過程上劃分,Kettle有以下5種應(yīng)用場(chǎng)景:數(shù)據(jù)初始化導(dǎo)入導(dǎo)出數(shù)據(jù)遷移數(shù)據(jù)清洗數(shù)據(jù)同步認(rèn)識(shí)ETL配置Kettle運(yùn)行環(huán)境熟悉Kettle基本操作配置Kettle運(yùn)行環(huán)境任務(wù)描述Kettle是一款純Java語(yǔ)言編寫的開源ETL工具,需要在Java運(yùn)行環(huán)境下才能正常使用。此外,由于Kettle本身并不具有數(shù)據(jù)存儲(chǔ)系統(tǒng),所以需要配合如MySQL數(shù)據(jù)庫(kù)才能夠更好地存儲(chǔ)相關(guān)資源與數(shù)據(jù)。為了成功啟動(dòng)Kettle工具,需要配置完整的Kettle運(yùn)行環(huán)境,下載JavaJDK工具包、MySQL安裝包和Kettle工具包,并按照步驟進(jìn)行安裝任務(wù)分析安裝JavaJDK工具包配置Java環(huán)境變量安裝MySQL數(shù)據(jù)庫(kù)安裝Kettle和配置運(yùn)行環(huán)境啟動(dòng)Kettle工具安裝JDK在JDK官網(wǎng)下載JDK本書使用的JDK安裝包版本是jdk-8u411-windows-x64.exe安裝JDK。安裝時(shí),可以修改安裝JDK的目錄,如“D:\jdk1.8”1.下載并安裝JDK工具包安裝JDK安裝好JDK后,開始配置Java的環(huán)境變量(1)新建并設(shè)置JAVA_HOME系統(tǒng)環(huán)境變量2.設(shè)置環(huán)境變量安裝JDK(2)修改Path用戶環(huán)境變量安裝JDK(3)設(shè)置CLASSPATH系統(tǒng)環(huán)境變量安裝JDK測(cè)試是否成功安裝JavaJDK工具包1.下載MySQL數(shù)據(jù)庫(kù)安裝包并安裝
在MySQL官網(wǎng)下載MySQL數(shù)據(jù)庫(kù)安裝包。MySQL數(shù)據(jù)庫(kù)有多個(gè)版本,截至2024年6月為8.4.0版本。安裝MySQL數(shù)據(jù)庫(kù)2.MySQL啟動(dòng)
安裝好MySQL數(shù)據(jù)庫(kù)后,操作系統(tǒng)自動(dòng)在Windows開始菜單中建立MySQL數(shù)據(jù)庫(kù)菜單。安裝MySQL數(shù)據(jù)庫(kù)安裝MySQL數(shù)據(jù)庫(kù)彈出MySQL數(shù)據(jù)庫(kù)的命令行客戶端,可以創(chuàng)建數(shù)據(jù)庫(kù)、輸入SQL命令進(jìn)行有關(guān)數(shù)據(jù)庫(kù)的操作。為了方便,建議使用圖形界面的數(shù)據(jù)庫(kù)管理工具,如Navicat配置Kettle(1)下載和安裝Kettle軟件。較新的免費(fèi)版Kettle工具包為pdi-ce-9.4.0.0-343.zip。綠色軟件,無須安裝,可將Kettle工具包解壓至D盤,Kettle的文件夾為“D:\data-integration”(2)下載MySQL數(shù)據(jù)庫(kù)連接Java包下載MySQL數(shù)據(jù)庫(kù)連接mysql-connector-j-8.4.0.jar包將其復(fù)制至Kettle解壓安裝路徑下的lib文件夾下,例如,將該Jar包復(fù)制至“D:\data-integration\lib”文件夾下1.安裝Kettle軟件配置Kettle在Kettle解壓安裝的文件夾中,選擇并雙擊Spoon.bat批處理文件2.啟動(dòng)Kettle軟件認(rèn)識(shí)ETL配置Kettle運(yùn)行環(huán)境熟悉Kettle基本操作熟悉Kettle基本操作任務(wù)描述Kettle工具提供友好的圖形界面,通過建立轉(zhuǎn)換工程、任務(wù)工程,分別創(chuàng)建轉(zhuǎn)換、任務(wù)組件,進(jìn)行數(shù)據(jù)整合和處理。本任務(wù)通過建立示例“轉(zhuǎn)換1”轉(zhuǎn)換工程和“任務(wù)1”任務(wù)工程,打開并運(yùn)行已經(jīng)建立的“CSV文件輸入.ktr”轉(zhuǎn)換工程和“開始任務(wù).kjb”任務(wù)工程,熟悉有關(guān)創(chuàng)建組件、設(shè)置參數(shù)和預(yù)覽結(jié)果等操作任務(wù)分析建立“轉(zhuǎn)換1”轉(zhuǎn)換工程和“作業(yè)1”任務(wù)工程,熟悉Kettle界面和界面的菜單操作創(chuàng)建轉(zhuǎn)換組件和任務(wù)組件啟動(dòng)轉(zhuǎn)換和任務(wù)工程,預(yù)覽數(shù)據(jù)并查看工程的執(zhí)行結(jié)果認(rèn)識(shí)Kettle界面啟動(dòng)Kettle后,彈出Kettle的歡迎界面認(rèn)識(shí)Kettle界面(1)標(biāo)題欄:位于界面上方第1欄(2)菜單欄:位于界面的第2欄(3)快捷菜單圖標(biāo)欄:位于界面的第3欄(4)組件區(qū)域:位于界面第4欄及第4欄以下左邊的區(qū)域,分別是【主對(duì)象樹】選項(xiàng)卡和【核心對(duì)象】選項(xiàng)卡(5)工作區(qū)域:位于界面第4欄及第4欄以下右邊的區(qū)域1.界面構(gòu)成認(rèn)識(shí)Kettle界面2.菜單說明
單擊此處輸入你的正文,文字是您思想的提煉單擊此處輸入你的正文,文字是您思想的提煉
了解轉(zhuǎn)換與任務(wù)1.
轉(zhuǎn)換和任務(wù)的區(qū)別執(zhí)行方式不同0102數(shù)據(jù)流處理方式不同03功能和構(gòu)成不同總結(jié)來說,轉(zhuǎn)換更適合于具體的、細(xì)節(jié)豐富的數(shù)據(jù)整合與處理操作,而任務(wù)則更適合于協(xié)調(diào)和管理多個(gè)轉(zhuǎn)換的執(zhí)行,以及整個(gè)數(shù)據(jù)處理流程的控制了解轉(zhuǎn)換與任務(wù)2.
新建轉(zhuǎn)換和任務(wù)(1)轉(zhuǎn)換操作在Kettle歡迎界面中,依次單擊【新建】→【轉(zhuǎn)換】菜單項(xiàng),或使用Ctrl+N組合鍵,創(chuàng)建第一個(gè)“轉(zhuǎn)換1”轉(zhuǎn)換工程了解轉(zhuǎn)換與任務(wù)在【核心對(duì)象】選項(xiàng)卡中,單擊【輸入】對(duì)象,系統(tǒng)會(huì)列出【輸入】對(duì)象下所有的組件,選擇【CSV文件輸入】組件,拖曳至右邊的工作區(qū)域中,完成“CSV文件輸入”組件的創(chuàng)建了解轉(zhuǎn)換與任務(wù)(2)任務(wù)操作在Kettle歡迎界面中,依次單擊【新建】→【作業(yè)(J)】菜單項(xiàng),或使用Ctrl+Alt+N組合鍵,創(chuàng)建第一個(gè)“作業(yè)1”任務(wù)工程了解轉(zhuǎn)換與任務(wù)在【核心對(duì)象】選項(xiàng)卡中,單擊左邊組件區(qū)域中的【通用】對(duì)象,顯示出【通用】對(duì)象下所有的組件,選擇【Start】組件,拖曳至右邊的工作區(qū)域中,完成“Start”組件的創(chuàng)建運(yùn)行與查看結(jié)果面板1.運(yùn)行轉(zhuǎn)換工程和查看運(yùn)行結(jié)果打開“CSV文件輸入.ktr”轉(zhuǎn)換工程文件,雙擊該轉(zhuǎn)換工程中的“CSV文件輸入”組件,導(dǎo)入“食品銷售數(shù)據(jù)-A平臺(tái).csv”文件并確定(設(shè)置方式參考2.3.2小節(jié))。單擊工作區(qū)域上方的圖標(biāo),彈出【轉(zhuǎn)換調(diào)試窗口】對(duì)話框,單擊【快速啟動(dòng)】按鈕運(yùn)行與查看結(jié)果面板在【預(yù)覽數(shù)據(jù)】對(duì)話框中,顯示結(jié)果數(shù)據(jù)運(yùn)行與查看結(jié)果面板在【執(zhí)行結(jié)果】面板的【日志】選項(xiàng)卡(默認(rèn)選項(xiàng)),顯示轉(zhuǎn)換中的日志信息運(yùn)行與查看結(jié)果面板在【執(zhí)行結(jié)果】面板的6個(gè)選項(xiàng)卡可以可以展示有關(guān)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 感光材料涂布工安全宣貫競(jìng)賽考核試卷含答案
- 罐頭食品加工工崗前安全行為考核試卷含答案
- 火鍋料理師安全操作強(qiáng)化考核試卷含答案
- 工業(yè)車輛維修工安全培訓(xùn)考核試卷含答案
- 鉍冶煉工崗前生產(chǎn)安全意識(shí)考核試卷含答案
- 復(fù)合機(jī)床操作工崗前改進(jìn)考核試卷含答案
- 丁二烯裝置操作工沖突解決能力考核試卷含答案
- 石灰煅燒工安全管理考核試卷含答案
- 掘進(jìn)及鑿巖機(jī)械裝配調(diào)試工誠(chéng)信道德評(píng)優(yōu)考核試卷含答案
- 松脂工安全知識(shí)宣貫強(qiáng)化考核試卷含答案
- AS9100D標(biāo)準(zhǔn)中文版完整
- JT-T-1180.2-2018交通運(yùn)輸企業(yè)安全生產(chǎn)標(biāo)準(zhǔn)化建設(shè)基本規(guī)范第2部分:道路旅客運(yùn)輸企業(yè)
- 電纜線路工程檢驗(yàn)批質(zhì)量驗(yàn)收記錄表
- DLT 5285-2018 輸變電工程架空導(dǎo)線(800mm以下)及地線液壓壓接工藝規(guī)程
- 新生兒臍血血?dú)夥治鰳?biāo)準(zhǔn)
- MOOC 研究生學(xué)術(shù)規(guī)范與學(xué)術(shù)誠(chéng)信-南京大學(xué) 中國(guó)大學(xué)慕課答案
- 人情往來賬表格模板
- 2023-2024年天原杯全國(guó)初中學(xué)生化學(xué)競(jìng)賽復(fù)賽試題(含答案)
- 第十四章 多變量數(shù)據(jù)分析
- 患者隱私保護(hù)及信息安全方案
- 陳閱增普通生物學(xué)全部課件
評(píng)論
0/150
提交評(píng)論