百科解釋
ETL,Extraction-Transformation-Loading的縮寫(xiě),中文名稱為數(shù)據(jù)抽取、轉(zhuǎn)換和加載。 ETL負(fù)責(zé)將分布的、異構(gòu)數(shù)據(jù)源中的數(shù)據(jù)如關(guān)系數(shù)據(jù)、平面數(shù)據(jù)文件等抽取到臨時(shí)中間層后進(jìn)行清洗、轉(zhuǎn)換、集成,最后加載到數(shù)據(jù)倉(cāng)庫(kù)或數(shù)據(jù)集市中,成為聯(lián)機(jī)分析處理、數(shù)據(jù)挖掘的基礎(chǔ)。 ETL是數(shù)據(jù)倉(cāng)庫(kù)中的非常重要的一環(huán)。它是承前啟后的必要的一步。相對(duì)于關(guān)系數(shù)據(jù)庫(kù),數(shù)據(jù)倉(cāng)庫(kù)技術(shù)沒(méi)有嚴(yán)格的數(shù)學(xué)理論基礎(chǔ),它更面向?qū)嶋H工程應(yīng)用。所以從工程應(yīng)用的角度來(lái)考慮,按著物理數(shù)據(jù)模型的要求加載數(shù)據(jù)并對(duì)數(shù)據(jù)進(jìn)行一些系列處理,處理過(guò)程與經(jīng)驗(yàn)直接相關(guān),同時(shí)這部分的工作直接關(guān)系數(shù)據(jù)倉(cāng)庫(kù)中數(shù)據(jù)的質(zhì)量,從而影響到聯(lián)機(jī)分析處理和數(shù)據(jù)挖掘的結(jié)果的質(zhì)量。 數(shù)據(jù)倉(cāng)庫(kù)是一個(gè)獨(dú)立的數(shù)據(jù)環(huán)境,需要通過(guò)抽取過(guò)程將數(shù)據(jù)從聯(lián)機(jī)事務(wù)處理環(huán)境、外部數(shù)據(jù)源和脫機(jī)的數(shù)據(jù)存儲(chǔ)介質(zhì)導(dǎo)入到數(shù)據(jù)倉(cāng)庫(kù)中;在技術(shù)上,ETL主要涉及到關(guān)聯(lián)、轉(zhuǎn)換、增量、調(diào)度和監(jiān)控等幾個(gè)方面;數(shù)據(jù)倉(cāng)庫(kù)系統(tǒng)中數(shù)據(jù)不要求與聯(lián)機(jī)事務(wù)處理系統(tǒng)中數(shù)據(jù)實(shí)時(shí)同步,所以ETL可以定時(shí)進(jìn)行。但多個(gè)ETL的操作時(shí)間、順序和成敗對(duì)數(shù)據(jù)倉(cāng)庫(kù)中信息的有效性至關(guān)重要。 ETL(Extract-Transform-Load的縮寫(xiě),即數(shù)據(jù)抽取、轉(zhuǎn)換、裝載的過(guò)程)作為BI/DW(Business Intelligence)的核心和靈魂,能夠按照統(tǒng)一的規(guī)則集成并提高數(shù)據(jù)的價(jià)值,是負(fù)責(zé)完成數(shù)據(jù)從數(shù)據(jù)源向目標(biāo)數(shù)據(jù)倉(cāng)庫(kù)轉(zhuǎn)化的過(guò)程,是實(shí)施數(shù)據(jù)倉(cāng)庫(kù)的重要步驟。如果說(shuō)數(shù)據(jù)倉(cāng)庫(kù)的模型設(shè)計(jì)是一座大廈的設(shè)計(jì)藍(lán)圖,數(shù)據(jù)是磚瓦的話,那么ETL就是建設(shè)大廈的過(guò)程。在整個(gè)項(xiàng)目中最難部分是用戶需求分析和模型設(shè)計(jì),而ETL規(guī)則設(shè)計(jì)和實(shí)施則是工作量最大的,約占整個(gè)項(xiàng)目的60%~80%,這是國(guó)內(nèi)外從眾多實(shí)踐中得到的普遍共識(shí)。 ETL是數(shù)據(jù)抽。‥xtract)、轉(zhuǎn)換(Transform)、清洗(Cleansing)、裝載(Load)的過(guò)程。是構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)的重要一環(huán),用戶從數(shù)據(jù)源抽取出所需的數(shù)據(jù),經(jīng)過(guò)數(shù)據(jù)清洗,最終按照預(yù)先定義好的數(shù)據(jù)倉(cāng)庫(kù)模型,將數(shù)據(jù)加載到數(shù)據(jù)倉(cāng)庫(kù)中去。 信息是現(xiàn)代企業(yè)的重要資源,是企業(yè)運(yùn)用科學(xué)管理、決策分析的基礎(chǔ)。目前,大多數(shù)企業(yè)花費(fèi)大量的資金和時(shí)間來(lái)構(gòu)建聯(lián)機(jī)事務(wù)處理OLTP的業(yè)務(wù)系統(tǒng)和辦公自動(dòng)化系統(tǒng),用來(lái)記錄事務(wù)處理的各種相關(guān)數(shù)據(jù)。據(jù)統(tǒng)計(jì),數(shù)據(jù)量每2~3年時(shí)間就會(huì)成倍增長(zhǎng),這些數(shù)據(jù)蘊(yùn)含著巨大的商業(yè)價(jià)值,而企業(yè)所關(guān)注的通常只占在總數(shù)據(jù)量的2%~4%左右。因此,企業(yè)仍然沒(méi)有最大化地利用已存在的數(shù)據(jù)資源,以致于浪費(fèi)了更多的時(shí)間和資金,也失去制定關(guān)鍵商業(yè)決策的最佳契機(jī)。于是,企業(yè)如何通過(guò)各種技術(shù)手段,并把數(shù)據(jù)轉(zhuǎn)換為信息、知識(shí),已經(jīng)成了提高其核心競(jìng)爭(zhēng)力的主要瓶頸。而ETL則是主要的一個(gè)技術(shù)手段。如何正確選擇ETL工具?如何正確應(yīng)用ETL? 目前,ETL工具的典型代表有:Informatica、Datastage、OWB、微軟DTS…… 數(shù)據(jù)集成:快速實(shí)現(xiàn)ETL ETL的質(zhì)量問(wèn)題具體表現(xiàn)為正確性、完整性、一致性、完備性、有效性、時(shí)效性和可獲取性等幾個(gè)特性。而影響質(zhì)量問(wèn)題的原因有很多,由系統(tǒng)集成和歷史數(shù)據(jù)造成的原因主要包括:業(yè)務(wù)系統(tǒng)不同時(shí)期系統(tǒng)之間數(shù)據(jù)模型不一致;業(yè)務(wù)系統(tǒng)不同時(shí)期業(yè)務(wù)過(guò)程有變化;舊系統(tǒng)模塊在運(yùn)營(yíng)、人事、財(cái)務(wù)、辦公系統(tǒng)等相關(guān)信息的不一致;遺留系統(tǒng)和新業(yè)務(wù)、管理系統(tǒng)數(shù)據(jù)集成不完備帶來(lái)的不一致性。 實(shí)現(xiàn)ETL,首先要實(shí)現(xiàn)ETL轉(zhuǎn)換的過(guò)程。它可以集中地體現(xiàn)為以下幾個(gè)方面: 空值處理 可捕獲字段空值,進(jìn)行加載或替換為其他含義數(shù)據(jù),并可根據(jù)字段空值實(shí)現(xiàn)分流加載到不同目標(biāo)庫(kù)。 規(guī)范化數(shù)據(jù)格式 可實(shí)現(xiàn)字段格式約束定義,對(duì)于數(shù)據(jù)源中時(shí)間、數(shù)值、字符等數(shù)據(jù),可自定義加載格式。 拆分?jǐn)?shù)據(jù) 依據(jù)業(yè)務(wù)需求對(duì)字段可進(jìn)行分解。例,主叫號(hào) 861084613409,可進(jìn)行區(qū)域碼和電話號(hào)碼分解。 驗(yàn)證數(shù)據(jù)正確性 可利用Lookup及拆分功能進(jìn)行數(shù)據(jù)驗(yàn)證。例如,主叫號(hào)861084613409,進(jìn)行區(qū)域碼和電話號(hào)碼分解后,可利用Lookup返回主叫網(wǎng)關(guān)或交換機(jī)記載的主叫地區(qū),進(jìn)行數(shù)據(jù)驗(yàn)證。 數(shù)據(jù)替換 對(duì)于因業(yè)務(wù)因素,可實(shí)現(xiàn)無(wú)效數(shù)據(jù)、缺失數(shù)據(jù)的替換。 Lookup 查獲丟失數(shù)據(jù) Lookup實(shí)現(xiàn)子查詢,并返回用其他手段獲取的缺失字段,保證字段完整性。 建立ETL過(guò)程的主外鍵約束 對(duì)無(wú)依賴性的非法數(shù)據(jù),可替換或?qū)С龅藉e(cuò)誤數(shù)據(jù)文件中,保證主鍵惟一記錄的加載。 為了能更好地實(shí)現(xiàn)ETL,筆者建議用戶在實(shí)施ETL過(guò)程中應(yīng)注意以下幾點(diǎn): 第一,如果條件允許,可利用數(shù)據(jù)中轉(zhuǎn)區(qū)對(duì)運(yùn)營(yíng)數(shù)據(jù)進(jìn)行預(yù)處理,保證集成與加載的高效性; 第二,如果ETL的過(guò)程是主動(dòng)“拉取”,而不是從內(nèi)部“推送”,其可控性將大為增強(qiáng); 第三,ETL之前應(yīng)制定流程化的配置管理和標(biāo)準(zhǔn)協(xié)議; 第四,關(guān)鍵數(shù)據(jù)標(biāo)準(zhǔn)至關(guān)重要。目前,ETL面臨的最大挑戰(zhàn)是當(dāng)接收數(shù)據(jù)時(shí)其各源數(shù)據(jù)的異構(gòu)性和低質(zhì)量。以電信為例,A系統(tǒng)按照統(tǒng)計(jì)代碼管理數(shù)據(jù),B系統(tǒng)按照賬目數(shù)字管理,C系統(tǒng)按照語(yǔ)音ID管理。當(dāng)ETL需要對(duì)這三個(gè)系統(tǒng)進(jìn)行集成以獲得對(duì)客戶的全面視角時(shí),這一過(guò)程需要復(fù)雜的匹配規(guī)則、名稱/地址正;c標(biāo)準(zhǔn)化。而ETL在處理過(guò)程中會(huì)定義一個(gè)關(guān)鍵數(shù)據(jù)標(biāo)準(zhǔn),并在此基礎(chǔ)上,制定相應(yīng)的數(shù)據(jù)接口標(biāo)準(zhǔn)。 ETL過(guò)程在很大程度上受企業(yè)對(duì)源數(shù)據(jù)的理解程度的影響,也就是說(shuō)從業(yè)務(wù)的角度看數(shù)據(jù)集成非常重要。一個(gè)優(yōu)秀的ETL設(shè)計(jì)應(yīng)該具有如下功能: 管理簡(jiǎn)單;采用元數(shù)據(jù)方法,集中進(jìn)行管理;接口、數(shù)據(jù)格式、傳輸有嚴(yán)格的規(guī)范;盡量不在外部數(shù)據(jù)源安裝軟件;數(shù)據(jù)抽取系統(tǒng)流程自動(dòng)化,并有自動(dòng)調(diào)度功能;抽取的數(shù)據(jù)及時(shí)、準(zhǔn)確、完整;可以提供同各種數(shù)據(jù)系統(tǒng)的接口,系統(tǒng)適應(yīng)性強(qiáng);提供軟件框架系統(tǒng),系統(tǒng)功能改變時(shí),應(yīng)用程序很少改變便可適應(yīng)變化;可擴(kuò)展性強(qiáng)。 數(shù)據(jù)模型:標(biāo)準(zhǔn)定義數(shù)據(jù) 合理的業(yè)務(wù)模型設(shè)計(jì)對(duì)ETL至關(guān)重要。數(shù)據(jù)倉(cāng)庫(kù)是企業(yè)惟一、真實(shí)、可靠的綜合數(shù)據(jù)平臺(tái)。數(shù)據(jù)倉(cāng)庫(kù)的設(shè)計(jì)建模一般都依照三范式、星型模型、雪花模型,無(wú)論哪種設(shè)計(jì)思想,都應(yīng)該最大化地涵蓋關(guān)鍵業(yè)務(wù)數(shù)據(jù),把運(yùn)營(yíng)環(huán)境中雜亂無(wú)序的數(shù)據(jù)結(jié)構(gòu)統(tǒng)一成為合理的、關(guān)聯(lián)的、分析型的新結(jié)構(gòu),而ETL則會(huì)依照模型的定義去提取數(shù)據(jù)源,進(jìn)行轉(zhuǎn)換、清洗,并最終加載到目標(biāo)數(shù)據(jù)倉(cāng)庫(kù)中。 模型的重要之處在于對(duì)數(shù)據(jù)做標(biāo)準(zhǔn)化定義,實(shí)現(xiàn)統(tǒng)一的編碼、統(tǒng)一的分類和組織。標(biāo)準(zhǔn)化定義的內(nèi)容包括:標(biāo)準(zhǔn)代碼統(tǒng)一、業(yè)務(wù)術(shù)語(yǔ)統(tǒng)一。ETL依照模型進(jìn)行初始加載、增量加載、緩慢增長(zhǎng)維、慢速變化維、事實(shí)表加載等數(shù)據(jù)集成,并根據(jù)業(yè)務(wù)需求制定相應(yīng)的加載策略、刷新策略、匯總策略、維護(hù)策略。 元數(shù)據(jù):拓展新型應(yīng)用 對(duì)業(yè)務(wù)數(shù)據(jù)本身及其運(yùn)行環(huán)境的描述與定義的數(shù)據(jù),稱之為元數(shù)據(jù)(metadata)。元數(shù)據(jù)是描述數(shù)據(jù)的數(shù)據(jù)。從某種意義上說(shuō),業(yè)務(wù)數(shù)據(jù)主要用于支持業(yè)務(wù)系統(tǒng)應(yīng)用的數(shù)據(jù),而元數(shù)據(jù)則是企業(yè)信息門(mén)戶、客戶關(guān)系管理、數(shù)據(jù)倉(cāng)庫(kù)、決策支持和B2B等新型應(yīng)用所不可或缺的內(nèi)容。 元數(shù)據(jù)的典型表現(xiàn)為對(duì)象的描述,即對(duì)數(shù)據(jù)庫(kù)、表、列、列屬性(類型、格式、約束等)以及主鍵/外部鍵關(guān)聯(lián)等等的描述。特別是現(xiàn)行應(yīng)用的異構(gòu)性與分布性越來(lái)越普遍的情況下,統(tǒng)一的元數(shù)據(jù)就愈發(fā)重要了。“信息孤島”曾經(jīng)是很多企業(yè)對(duì)其應(yīng)用現(xiàn)狀的一種抱怨和概括,而合理的元數(shù)據(jù)則會(huì)有效地描繪出信息的關(guān)聯(lián)性。 而元數(shù)據(jù)對(duì)于ETL的集中表現(xiàn)為:定義數(shù)據(jù)源的位置及數(shù)據(jù)源的屬性、確定從源數(shù)據(jù)到目標(biāo)數(shù)據(jù)的對(duì)應(yīng)規(guī)則、確定相關(guān)的業(yè)務(wù)邏輯、在數(shù)據(jù)實(shí)際加載前的其他必要的準(zhǔn)備工作,等等,它一般貫穿整個(gè)數(shù)據(jù)倉(cāng)庫(kù)項(xiàng)目,而ETL的所有過(guò)程必須最大化地參照元數(shù)據(jù),這樣才能快速實(shí)現(xiàn)ETL。 ETL體系結(jié)構(gòu) 下圖為ETL體系結(jié)構(gòu),它體現(xiàn)了主流ETL產(chǎn)品框架的主要組成部分。ETL是指從源系統(tǒng)中提取數(shù)據(jù),轉(zhuǎn)換數(shù)據(jù)為一個(gè)標(biāo)準(zhǔn)的格式,并加載數(shù)據(jù)到目標(biāo)數(shù)據(jù)存儲(chǔ)區(qū),通常是數(shù)據(jù)倉(cāng)庫(kù)。 ETL體系結(jié)構(gòu)圖 Design manager 提供一個(gè)圖形化的映射環(huán)境,讓開(kāi)發(fā)者定義從源到目標(biāo)的映射關(guān)系、轉(zhuǎn)換、處理流程。設(shè)計(jì)過(guò)程的各對(duì)象的邏輯定義存儲(chǔ)在一個(gè)元數(shù)據(jù)資料庫(kù)中。 Meta data management 提供一個(gè)關(guān)于ETL設(shè)計(jì)和運(yùn)行處理等相關(guān)定義、管理信息的元數(shù)據(jù)資料庫(kù)。ETL引擎在運(yùn)行時(shí)和其它應(yīng)用都可參考此資料庫(kù)中的元數(shù)據(jù)。 Extract 通過(guò)接口提取源數(shù)據(jù),例如ODBC、專用數(shù)據(jù)庫(kù)接口和平面文件提取器,并參照元數(shù)據(jù)來(lái)決定數(shù)據(jù)的提取及其提取方式。 Transform 開(kāi)發(fā)者將提取的數(shù)據(jù),按照業(yè)務(wù)需要轉(zhuǎn)換為目標(biāo)數(shù)據(jù)結(jié)構(gòu),并實(shí)現(xiàn)匯總。 Load 加載經(jīng)轉(zhuǎn)換和匯總的數(shù)據(jù)到目標(biāo)數(shù)據(jù)倉(cāng)庫(kù)中,可實(shí)現(xiàn)SQL或批量加載。 Transport services 利用網(wǎng)絡(luò)協(xié)議或文件協(xié)議,在源和目標(biāo)系統(tǒng)之間移動(dòng)數(shù)據(jù),利用內(nèi)存在ETL處理的各組件中移動(dòng)數(shù)據(jù)。 Administration and operation 可讓管理員基于事件和時(shí)間進(jìn)行調(diào)度、運(yùn)行、監(jiān)測(cè)ETL作業(yè)、管理錯(cuò)誤信息、從失敗中恢復(fù)和調(diào)節(jié)從源系統(tǒng)的輸出。
移動(dòng)通信網(wǎng) | 通信人才網(wǎng) | 更新日志 | 團(tuán)隊(duì)博客 | 免責(zé)聲明 | 關(guān)于詞典 | 幫助