《數(shù)據(jù)采集與處理:基于python》 課件 第11章-數(shù)據(jù)集成與ETL技術(shù)_第1頁
《數(shù)據(jù)采集與處理:基于python》 課件 第11章-數(shù)據(jù)集成與ETL技術(shù)_第2頁
《數(shù)據(jù)采集與處理:基于python》 課件 第11章-數(shù)據(jù)集成與ETL技術(shù)_第3頁
《數(shù)據(jù)采集與處理:基于python》 課件 第11章-數(shù)據(jù)集成與ETL技術(shù)_第4頁
《數(shù)據(jù)采集與處理:基于python》 課件 第11章-數(shù)據(jù)集成與ETL技術(shù)_第5頁
已閱讀5頁,還剩27頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第十一章

數(shù)據(jù)集成與ETL技術(shù)《數(shù)據(jù)采集與處理:基于Python》2024/5/1112024/5/112教學(xué)目標(biāo)本章學(xué)習(xí)目標(biāo)1.了解數(shù)據(jù)集成的基本概念、分類、常見方法和相關(guān)產(chǎn)品;2.了解ETL相關(guān)技術(shù)和常用的ETL工具,理解常見的ETL相關(guān)技術(shù)和基本操作方法。本章提綱1.數(shù)據(jù)集成2.ETL相關(guān)技術(shù)與工具數(shù)據(jù)集成2024/5/113數(shù)據(jù)集成概述大型組織中往往同時(shí)運(yùn)行多個(gè)應(yīng)用系統(tǒng)并管理和存儲(chǔ)多種數(shù)據(jù),對(duì)于管理者和決策者而言,往往需要對(duì)整個(gè)組織中不同來源的業(yè)務(wù)數(shù)據(jù)進(jìn)行整體分析,才能完整反映一個(gè)組織的業(yè)務(wù)面貌及不同部門和業(yè)務(wù)之間的聯(lián)系,從而進(jìn)行科學(xué)準(zhǔn)確的業(yè)務(wù)決策。數(shù)據(jù)集成(dataintegration,DI)就是將不同來源的異構(gòu)數(shù)據(jù),通過數(shù)據(jù)清洗、轉(zhuǎn)換等多種處理,合并成一致的數(shù)據(jù)視圖或物理存儲(chǔ)。數(shù)據(jù)集成的核心任務(wù)是將互相關(guān)聯(lián)的分布式異構(gòu)數(shù)據(jù)源集成到一起,使用戶能夠以透明的方式訪問這些數(shù)據(jù)源。集成是指維護(hù)數(shù)據(jù)源整體上的數(shù)據(jù)一致性,提高信息共享利用的效率;透明的方式是指用戶無須關(guān)心如何實(shí)現(xiàn)對(duì)異構(gòu)數(shù)據(jù)源數(shù)據(jù)的訪問,只關(guān)心以何種方式訪問何種數(shù)據(jù)。實(shí)現(xiàn)數(shù)據(jù)集成的系統(tǒng)稱作數(shù)據(jù)集成系統(tǒng),它為用戶提供統(tǒng)一的數(shù)據(jù)源訪問接口,執(zhí)行用戶對(duì)數(shù)據(jù)源的訪問請(qǐng)求。2024/5/114數(shù)據(jù)集成概述數(shù)據(jù)集成的數(shù)據(jù)源主要指關(guān)系型數(shù)據(jù)庫系統(tǒng)和非關(guān)系型數(shù)據(jù)庫系統(tǒng),廣義上也包括各類XML文檔、HTML文檔、電子郵件、普通文件等結(jié)構(gòu)化、半結(jié)構(gòu)化數(shù)據(jù)。數(shù)據(jù)集成是信息系統(tǒng)集成的基礎(chǔ)和關(guān)鍵,但數(shù)據(jù)集成主要存在以下難點(diǎn):(1)異構(gòu)性。被集成的數(shù)據(jù)源通常是獨(dú)立開發(fā)的,數(shù)據(jù)模型異構(gòu)給集成帶來了很大困難。這種異構(gòu)性主要表現(xiàn)在數(shù)據(jù)語義、相同語義數(shù)據(jù)的表達(dá)形式、數(shù)據(jù)源的使用環(huán)境等方面。(2)分布性。數(shù)據(jù)源是異地分布的,依賴網(wǎng)絡(luò)傳輸數(shù)據(jù),這就存在網(wǎng)絡(luò)傳輸?shù)男阅芎桶踩缘葐栴}。(3)自治性。各個(gè)數(shù)據(jù)源有很強(qiáng)的自治性,它們可以在不通知集成系統(tǒng)的前提下改變自身的結(jié)構(gòu)和數(shù)據(jù),給數(shù)據(jù)集成系統(tǒng)的魯棒性帶來挑戰(zhàn)。2024/5/115數(shù)據(jù)集成分類數(shù)據(jù)集成可以分為以下4個(gè)層次。1.基本數(shù)據(jù)集成基本數(shù)據(jù)集成面臨的問題很多,通用標(biāo)識(shí)符問題是數(shù)據(jù)集成時(shí)遇到的最大難題之一。當(dāng)同一業(yè)務(wù)實(shí)體存在于多個(gè)系統(tǒng)源中,并且沒有明確的辦法確認(rèn)這些實(shí)體是同一實(shí)體時(shí),就會(huì)產(chǎn)生這類問題。處理該問題的辦法如下:(1)隔離。保證實(shí)體的每次出現(xiàn)都指派唯一標(biāo)識(shí)符。(2)調(diào)和。確認(rèn)哪些實(shí)體是相同的,并將該實(shí)體的各次出現(xiàn)合并起來。當(dāng)目標(biāo)元素有多個(gè)來源時(shí),可指定某一系統(tǒng)在沖突時(shí)占主導(dǎo)地位。數(shù)據(jù)丟失問題是最常見的問題之一,一般的解決辦法是為丟失的數(shù)據(jù)產(chǎn)生一個(gè)非常接近實(shí)際的估計(jì)值來進(jìn)行處理。2024/5/116數(shù)據(jù)集成分類2.多級(jí)視圖集成多級(jí)視圖機(jī)制有助于對(duì)數(shù)據(jù)源之間的關(guān)系進(jìn)行集成:底層數(shù)據(jù)表示為局部模型的局部格式,如關(guān)系和文件;中間數(shù)據(jù)表示為公共模型格式,如擴(kuò)展關(guān)系模型或?qū)ο竽P?高級(jí)數(shù)據(jù)表示為綜合模型格式。多級(jí)視圖集成的過程分為兩級(jí)映射:(1)數(shù)據(jù)從局部數(shù)據(jù)庫中經(jīng)過數(shù)據(jù)翻譯、轉(zhuǎn)換,集成為符合公共模型格式的中間視圖。(2)進(jìn)行語義沖突消除、數(shù)據(jù)集成和數(shù)據(jù)導(dǎo)出處理,將中間視圖集成為綜合視圖。2024/5/117數(shù)據(jù)集成分類3.模式集成模式集成是人們最早采用的數(shù)據(jù)集成方法。其基本思想是,在構(gòu)建集成系統(tǒng)時(shí)將各數(shù)據(jù)源的數(shù)據(jù)視圖集成為全局模式,使用戶能夠按照全局模式透明地訪問各數(shù)據(jù)源的數(shù)據(jù)。全局模式描述了數(shù)據(jù)源共享數(shù)據(jù)的結(jié)構(gòu)、語義及操作等。用戶直接在全局模式的基礎(chǔ)上提交請(qǐng)求,然后數(shù)據(jù)集成系統(tǒng)處理這些請(qǐng)求,轉(zhuǎn)換成各個(gè)數(shù)據(jù)源在本地?cái)?shù)據(jù)視圖基礎(chǔ)上能夠執(zhí)行的請(qǐng)求。模式集成的特點(diǎn)是直接為用戶提供透明的數(shù)據(jù)訪問方法。由于用戶使用的全局模式是虛擬的數(shù)據(jù)源視圖,一些學(xué)者也把模式集成稱為虛擬視圖集成。模式集成要解決兩個(gè)基本問題:一是構(gòu)建全局模式與數(shù)據(jù)源數(shù)據(jù)視圖間的映射關(guān)系;二是處理用戶在全局模式基礎(chǔ)上的查詢請(qǐng)求。模式集成需要將原來異構(gòu)的數(shù)據(jù)模式做適當(dāng)?shù)霓D(zhuǎn)換,消除數(shù)據(jù)源間的異構(gòu)性并映射成全局模式。全局模式與數(shù)據(jù)源數(shù)據(jù)視圖映射的構(gòu)建方法有兩種:全局視圖法和局部視圖法。全局視圖法中的全局模式是在數(shù)據(jù)源數(shù)據(jù)視圖基礎(chǔ)上建立的,它由一系列元素組成,每個(gè)元素對(duì)應(yīng)一個(gè)數(shù)據(jù)源,表示相應(yīng)數(shù)據(jù)源的數(shù)據(jù)結(jié)構(gòu)和操作;局部視圖法先構(gòu)建全局模式,數(shù)據(jù)源的數(shù)據(jù)視圖則是在全局模式基礎(chǔ)上定義,然后由全局模式按一定的規(guī)則推理得到。用戶在全局模式基礎(chǔ)上查詢請(qǐng)求時(shí)需要被映射成各個(gè)數(shù)據(jù)源能夠執(zhí)行的查詢請(qǐng)求。2024/5/118數(shù)據(jù)集成分類4.多粒度數(shù)據(jù)集成多粒度數(shù)據(jù)集成是異構(gòu)數(shù)據(jù)集成中最難處理的問題,理想的多粒度數(shù)據(jù)集成模式是自動(dòng)逐步抽象。數(shù)據(jù)綜合(或數(shù)據(jù)抽象)是指高精度數(shù)據(jù)經(jīng)過綜合形成精度較低但粒度較大的數(shù)據(jù)。其作用過程為從多個(gè)較高精度的局部數(shù)據(jù)中獲得較低精度的全局?jǐn)?shù)據(jù)。在這個(gè)過程中,要對(duì)各局域中的數(shù)據(jù)進(jìn)行綜合,提取其主要特征。數(shù)據(jù)綜合集成的過程實(shí)際上是特征提取和歸并的過程。數(shù)據(jù)細(xì)化是指通過一定精度的數(shù)據(jù)獲取精度較高的數(shù)據(jù)。實(shí)現(xiàn)該過程的主要途徑有:時(shí)空轉(zhuǎn)換、相關(guān)分析或者通過綜合中數(shù)據(jù)變動(dòng)的記錄進(jìn)行恢復(fù)。數(shù)據(jù)集成是最終實(shí)現(xiàn)數(shù)據(jù)共享和輔助決策的基礎(chǔ)。2024/5/119常見數(shù)據(jù)集成方法1.聯(lián)邦數(shù)據(jù)庫聯(lián)邦數(shù)據(jù)庫是人們?cè)缙诓捎玫囊环N模式集成方法。聯(lián)邦數(shù)據(jù)庫系統(tǒng)(federateddatabasesystem,FDBS)是一個(gè)彼此協(xié)作卻又相互獨(dú)立的單元數(shù)據(jù)庫(componentdatabasesystem,CDBS)的集合,它將單元數(shù)據(jù)庫系統(tǒng)按不同程度進(jìn)行集成,對(duì)該系統(tǒng)整體提供控制和協(xié)同操作的軟件叫作聯(lián)邦數(shù)據(jù)庫管理系統(tǒng)(federateddatabasemanagementsystem,FDBMS)。一個(gè)單元數(shù)據(jù)庫可以加入若干個(gè)聯(lián)邦數(shù)據(jù)庫管理系統(tǒng),每個(gè)單元數(shù)據(jù)庫系統(tǒng)可以是集中式的,也可以是分布式的,或者是另外一個(gè)FDBMS。圖11-1為聯(lián)邦數(shù)據(jù)庫管理系統(tǒng)的體系結(jié)構(gòu)。2024/5/1110常見數(shù)據(jù)集成方法2.中間件集成方法中間件(mediator)集成方法是目前比較流行的數(shù)據(jù)集成方法,中間件模式通過統(tǒng)一的全局?jǐn)?shù)據(jù)模型來訪問異構(gòu)數(shù)據(jù)庫、遺留系統(tǒng)、Web資源等。中間件位于異構(gòu)數(shù)據(jù)源系統(tǒng)(數(shù)據(jù)層)和應(yīng)用程序(應(yīng)用層)之間,向下協(xié)調(diào)各數(shù)據(jù)源系統(tǒng),向上為訪問集成數(shù)據(jù)的應(yīng)用提供統(tǒng)一的數(shù)據(jù)模式和數(shù)據(jù)訪問的通用接口。各數(shù)據(jù)源的應(yīng)用仍然完成它們的任務(wù),中間件系統(tǒng)則主要集中為異構(gòu)數(shù)據(jù)源提供高層次檢索服務(wù)。它同樣使用全局?jǐn)?shù)據(jù)模式,通過在中間層提供一個(gè)統(tǒng)一的數(shù)據(jù)邏輯視圖來隱藏底層的數(shù)據(jù)細(xì)節(jié),使得用戶可以把集成數(shù)據(jù)源看作一個(gè)統(tǒng)一的整體。這種模型的關(guān)鍵問題是如何構(gòu)造這個(gè)邏輯視圖并使得不同數(shù)據(jù)源能映射到這個(gè)中間層。2024/5/1111常見數(shù)據(jù)集成方法與聯(lián)邦數(shù)據(jù)庫不同,中間件系統(tǒng)不僅能夠集成結(jié)構(gòu)化數(shù)據(jù)源中的信息,還可以集成半結(jié)構(gòu)化或非結(jié)構(gòu)化數(shù)據(jù)源中的信息,如Web信息。典型的基于中間件的數(shù)據(jù)集成系統(tǒng)的體系結(jié)構(gòu)如圖11-2所示,該結(jié)構(gòu)主要包括中間件和封裝器(wrapper,也稱為適配器(adapter)),其中每個(gè)數(shù)據(jù)源對(duì)應(yīng)一個(gè)封裝器。中間件通過封裝器和各個(gè)數(shù)據(jù)源交互。用戶在全局?jǐn)?shù)據(jù)模式的基礎(chǔ)上向中間件發(fā)出查詢請(qǐng)求。中間件處理用戶請(qǐng)求,將其轉(zhuǎn)換成各個(gè)數(shù)據(jù)源能夠處理的子查詢請(qǐng)求,并對(duì)此過程進(jìn)行優(yōu)化以提高查詢處理的并發(fā)性,減少響應(yīng)時(shí)間。封裝器對(duì)特定數(shù)據(jù)源進(jìn)行封裝,將其數(shù)據(jù)模型轉(zhuǎn)換為系統(tǒng)所采用的通用模型,并提供一致的訪問機(jī)制。中間件將各個(gè)子查詢請(qǐng)求發(fā)送給封裝器,由封裝器和其封裝的數(shù)據(jù)源交互,執(zhí)行子查詢請(qǐng)求,并將結(jié)果返回給中間件。2024/5/1112常見數(shù)據(jù)集成方法集成中間件產(chǎn)品較多,如國產(chǎn)軟件有東方通的數(shù)據(jù)交換平臺(tái)TongDXP、谷云科技的實(shí)時(shí)數(shù)據(jù)集成平臺(tái)RestCloud等,國外商業(yè)軟件有Informatica的EnterpriseDataIntegration、Oracle的ODI(OracleDataIntegrator)等,開源軟件有Kettle等。2024/5/1113常見數(shù)據(jù)集成方法3.數(shù)據(jù)倉庫方法數(shù)據(jù)倉庫方法是一種典型的數(shù)據(jù)復(fù)制方法。該方法將各個(gè)數(shù)據(jù)源的數(shù)據(jù)復(fù)制到同一處,即數(shù)據(jù)倉庫。用戶可以像訪問普通數(shù)據(jù)庫一樣直接訪問數(shù)據(jù)倉庫,其基本原理和結(jié)構(gòu)如圖11-3所示。2024/5/1114常見數(shù)據(jù)集成方法數(shù)據(jù)倉庫是在數(shù)據(jù)庫已經(jīng)大量存在的情況下,為了進(jìn)一步挖掘數(shù)據(jù)資源和決策需要而產(chǎn)生的。目前,大部分?jǐn)?shù)據(jù)倉庫還是用關(guān)系型數(shù)據(jù)庫管理系統(tǒng)來管理,將前端查詢和分析作為基礎(chǔ),后端存儲(chǔ)用于決策支持的當(dāng)前和歷史數(shù)據(jù),操作以查詢和讀取為主,基本不會(huì)再對(duì)數(shù)據(jù)進(jìn)行修改。從內(nèi)容和設(shè)計(jì)的原則來講,傳統(tǒng)的操作型數(shù)據(jù)庫是面向事務(wù)設(shè)計(jì)的,數(shù)據(jù)庫中通常存儲(chǔ)在線交易數(shù)據(jù),設(shè)計(jì)時(shí)盡量避免冗余,一般采用符合范式的規(guī)則來設(shè)計(jì);而數(shù)據(jù)倉庫是面向主題設(shè)計(jì)的,存儲(chǔ)的一般是歷史數(shù)據(jù),在設(shè)計(jì)時(shí)有意引入冗余,采用反范式的方式來設(shè)計(jì)。另外,從設(shè)計(jì)的目的來講,數(shù)據(jù)庫是為捕獲數(shù)據(jù)而設(shè)計(jì)的;而數(shù)據(jù)倉庫是為分析數(shù)據(jù)而設(shè)計(jì)的,它的兩個(gè)基本元素是維表和事實(shí)表。維是看問題的角度,例如時(shí)間、部門,維表中存放的就是這些角度的定義;事實(shí)表里存放著要查詢的數(shù)據(jù),同時(shí)有維的ID。數(shù)據(jù)倉庫相關(guān)產(chǎn)品較多,如國產(chǎn)軟件有人大金倉分析型數(shù)據(jù)庫KingbaseAnalyticsDB、阿里云分析型數(shù)據(jù)庫AnalyticDB等,國外商業(yè)軟件有Oracle數(shù)據(jù)庫、微軟SQLServer數(shù)據(jù)庫等,開源軟件有Hive等。2024/5/1115ETL相關(guān)技術(shù)與工具2024/5/1116ETL相關(guān)技術(shù)1.ETL概述在數(shù)據(jù)集成的相關(guān)應(yīng)用中,經(jīng)常會(huì)遇到術(shù)語ETL(或ELT)。ETL是extract-transform-load的縮寫,用來描述將數(shù)據(jù)從來源端經(jīng)過抽取、轉(zhuǎn)換加載至目的端的過程,也是數(shù)據(jù)集成的相關(guān)處理步驟,因此ETL也是數(shù)據(jù)集成的相關(guān)技術(shù)的簡稱。ETL一詞常用于數(shù)據(jù)倉庫,但其對(duì)象并不僅限于數(shù)據(jù)倉庫。ETL將業(yè)務(wù)系統(tǒng)的數(shù)據(jù)經(jīng)過抽取、清洗轉(zhuǎn)換之后加載到數(shù)據(jù)倉庫,目的是將企業(yè)中分散、零亂、標(biāo)準(zhǔn)不統(tǒng)一的數(shù)據(jù)整合到一起,為企業(yè)的決策提供分析依據(jù),其工作流程示意圖如圖11-4所示。ETL的流程可以用任何編程語言去開發(fā)完成。由于ETL是極為復(fù)雜的過程,而手寫程序不易管理,因此越來越多的企業(yè)采用工具協(xié)助ETL的開發(fā),并運(yùn)用其內(nèi)置的元數(shù)據(jù)功能來存儲(chǔ)來源與目標(biāo)的映射以及轉(zhuǎn)換規(guī)則。工具可以提供較強(qiáng)大的連接功能來連接來源端與目的端,并提供可視化的完整流程配置工具,開發(fā)人員無須熟悉各種不同的平臺(tái)及數(shù)據(jù)結(jié)構(gòu)就能進(jìn)行開發(fā)。2024/5/1117ETL相關(guān)技術(shù)2.數(shù)據(jù)庫相關(guān)的數(shù)據(jù)抽取數(shù)據(jù)抽取是指從數(shù)據(jù)源中抽取對(duì)企業(yè)有用的或感興趣的數(shù)據(jù)的過程,它的實(shí)質(zhì)是將數(shù)據(jù)從各種原始的業(yè)務(wù)系統(tǒng)中讀取出來,它是大數(shù)據(jù)工作開展的前提。對(duì)于關(guān)系型數(shù)據(jù)庫中的數(shù)據(jù)抽取,一般有兩種策略:(1)全量抽取。即將指定來源的數(shù)據(jù)一次性地全部抽取,適用于一次性的批量數(shù)據(jù)抽取,效率較高,但數(shù)據(jù)源有增量數(shù)據(jù)變化時(shí)則不能實(shí)時(shí)反映數(shù)據(jù)變化。(2)增量抽取。即只對(duì)指定來源新增數(shù)據(jù)進(jìn)行抽取,可避免數(shù)據(jù)重復(fù)采集。要實(shí)現(xiàn)增量抽取技術(shù),有以下幾種方法:一是掃描數(shù)據(jù)源指定表中的時(shí)間戳變化;二是掃描指定來源數(shù)據(jù)庫的操作日志內(nèi)容;三是利用指定來源數(shù)據(jù)庫的觸發(fā)器機(jī)制(若有增、刪、改操作,則利用觸發(fā)器記錄增量變化數(shù)據(jù));四是全量讀取指定來源數(shù)據(jù)內(nèi)容(刪除目的來源數(shù)據(jù)內(nèi)容)。2024/5/1118常用ETL工具除了前述數(shù)據(jù)集成方法提到的相關(guān)技術(shù)和工具(如Kettle)之外,一些數(shù)據(jù)挖掘軟件本身也提供了ETL功能或工具,如商業(yè)軟件RapidMiner、Tableau以及開源軟件Weka等。鑒于篇幅有限,下面僅介紹RapidMiner和Kettle這兩種工具。1.RapidMinerRapidMiner誕生于2001年的多特蒙德工業(yè)大學(xué)的一個(gè)數(shù)據(jù)科學(xué)項(xiàng)目,目前已經(jīng)發(fā)展成為一個(gè)通用的數(shù)據(jù)科學(xué)平臺(tái)。RapidMiner有企業(yè)級(jí)的商業(yè)版本,也有教育試用版本,可登錄官網(wǎng)(/)下載。RapidMiner除了提供數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)等工具支持外,還為數(shù)據(jù)準(zhǔn)備和預(yù)處理提供了大量的組件和簡單易用的工具支持,其操作工具為RapidMinerStudio,操作界面如圖11-5所示。2024/5/1119常用ETL工具(1)資源庫(Repository):配置的流程、數(shù)據(jù)源等都存放于此,便于管理。(2)算子(Operators):各類數(shù)據(jù)源訪問組件、預(yù)處理組件、數(shù)據(jù)分析組件等統(tǒng)稱為算子。(3)流程配置(Process):可將算子區(qū)的各類算子拖放到此處并按照處理要求進(jìn)行連接,裝配算子組件。(4)菜單:菜單區(qū)包括文件、編輯、流程、視圖、連接、設(shè)置等操作。(5)視圖切換(Views):點(diǎn)擊可切換成不同視圖,如“Design”為設(shè)計(jì)視圖,“Results”為運(yùn)行結(jié)果視圖。(6)參數(shù)配置(Parameters):可對(duì)算子的屬性進(jìn)行配置,參數(shù)也在此列出和配置。2024/5/1120常用ETL工具2.KettleKettle最早是一個(gè)開源的ETL工具,全稱為KDEExtraction,Transportation,TransformationandLoadingEnvironment。2006年,Pentaho公司收購了Kettle項(xiàng)目,Kettle成為企業(yè)級(jí)數(shù)據(jù)集成及商業(yè)智能套件Pentaho的主要組成部分,并重命名為PentahoDataIntegration(PDI)。2015年,Pentaho公司被HitachiDataSystems收購。PDI分為商業(yè)版與開源版,人們?nèi)粤?xí)慣把PDI的開源版稱為Kettle。PDI使用Java開發(fā),支持跨平臺(tái)運(yùn)行,其特性包括:支持100%無編碼、拖拽方式開發(fā)ETL數(shù)據(jù)管道(如圖11-6所示);可對(duì)接傳統(tǒng)數(shù)據(jù)庫、文件、大數(shù)據(jù)平臺(tái)、接口、流數(shù)據(jù)等數(shù)據(jù)源;支持ETL數(shù)據(jù)管道加入機(jī)器學(xué)習(xí)算法。2024/5/1121ETL應(yīng)用示例以RapidMiner為例,下面介紹將一個(gè)簡單的CSV文件從數(shù)據(jù)抽取、簡單預(yù)處理到存入MySQL數(shù)據(jù)庫的示例過程。操作之前,需要自行下載安裝RapidMinerStudio,步驟為:注冊(cè)試用賬號(hào)并郵件激活賬號(hào)→登錄賬號(hào)和密碼→進(jìn)入RapidMinerStudio界面。1.創(chuàng)建MySQL數(shù)據(jù)庫連接點(diǎn)開資源庫(Repository)區(qū)中的“LocalRepository”,選中“Connection”并點(diǎn)擊鼠標(biāo)右鍵,在彈出的菜單中點(diǎn)擊“CreateConnection”,彈出如圖11-7所示的窗口。2024/5/1122ETL應(yīng)用示例在“ConnectionName”欄輸入一個(gè)連接名稱,如LocalMySQL,點(diǎn)擊“Create”按鈕,彈出配置窗口,在配置窗口中設(shè)置數(shù)據(jù)庫系統(tǒng)類型、用戶名和密碼、連接主機(jī)名或IP地址、連接端口及對(duì)應(yīng)數(shù)據(jù)庫。準(zhǔn)確設(shè)置完參數(shù)后,點(diǎn)擊“Testconnection”,測試是否能成功連接到MySQL數(shù)據(jù)庫,測試成功后點(diǎn)擊“Save”保存并退出,如圖11-8所示。2024/5/1123ETL應(yīng)用示例在算子(Operators)區(qū),點(diǎn)擊進(jìn)入“DataAccess”下的Files目錄,點(diǎn)擊子目錄下的“ReadCSV”算子,拖放到流程配置(Process)區(qū)并選中,然后點(diǎn)擊參數(shù)配置(Parameters)區(qū)中的“ImportConfigurationWizard”,如圖11-9所示。在彈出的窗口中選中本課程示例文件“movies.csv”并點(diǎn)擊“Next”,文件格式自動(dòng)解析并顯示如圖11-10所示的內(nèi)容。(注意,budget列有不少缺失值“NA”。)然后點(diǎn)擊“Next”,并在下個(gè)窗口點(diǎn)擊“Finish”,關(guān)閉窗口。2024/5/1124ETL應(yīng)用示例2024/5/1125ETL應(yīng)用示例3.配置預(yù)處理流程(1)填充缺失值:將算子區(qū)中Cleansing目錄下Missing子目錄中的“ReplaceMissingValues”算子拖到流程配置區(qū),并將它的輸入“exa”端口與“ReadCSV”算子中的“out”端口相連,在配置屬性區(qū)的設(shè)置如圖11-11所示,budget列的缺失值用平均數(shù)替換。2024/5/1126ETL應(yīng)用示例(2)選擇部分列:拖放算子區(qū)中Blending目錄下Attributes的Selection子目錄中的“SelectAttributes”算子到流程配置區(qū),將它的輸入“exa”端口與“ReplaceMissingValues”算子的輸出“exa”端口相連,并配置屬性,選擇“attributefiltertype”為“subset”,然后點(diǎn)擊“SelectAttributes”,在彈出窗口中選擇屬性budget、length、rating、titl

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論