數(shù)據(jù)采集
數(shù)據(jù)交換
數(shù)據(jù)轉(zhuǎn)換
數(shù)據(jù)清洗
數(shù)據(jù)質(zhì)量管理
數(shù)據(jù)比對(duì)
數(shù)據(jù)集成治理套件
使用特定工具和實(shí)踐,企業(yè)實(shí)施這些方法以產(chǎn)生有價(jià)值的見解。企業(yè)利用數(shù)據(jù)的最常見方式之一是商業(yè)智能(BI),這是一組將原始數(shù)據(jù)轉(zhuǎn)換為可操作信息的實(shí)踐和技術(shù)。這些數(shù)據(jù)可用于各種目的:進(jìn)行分析或創(chuàng)建機(jī)器學(xué)習(xí)模型。但它不能以其原始格式使用。任何處理數(shù)據(jù)處理的系統(tǒng)都需要從存儲(chǔ)中移動(dòng)信息并在此過程中將其轉(zhuǎn)換以供人或機(jī)器使用。此過程稱為Extract, Transform, Load, or ETL。
ETL 開發(fā)分為三個(gè)主要階段:
抽?。?/strong>企業(yè)將歷史信息或?qū)崟r(shí)數(shù)據(jù)流式傳輸?shù)皆S多系統(tǒng)中。這些信息分散在不同的軟件中,并以各種格式構(gòu)建。提取階段需要定義所需的數(shù)據(jù)源,無論是 ERP、CRM 還是第三方系統(tǒng),并從中收集數(shù)據(jù)。
轉(zhuǎn)換:當(dāng)從其來源收集數(shù)據(jù)時(shí),它通常被放置在一個(gè)名為Staging Area的臨時(shí)存儲(chǔ)中。放置在該區(qū)域中時(shí),數(shù)據(jù)會(huì)根據(jù)定義的標(biāo)準(zhǔn)和模型進(jìn)行格式化。例如,不同格式的財(cái)務(wù)數(shù)字 $34.50、0.90 美分、01,65 將更改為單一的連貫格式:$34.50、$0.90、$1.65。
加載:ETL 過程的最后階段是將結(jié)構(gòu)化和格式化的數(shù)據(jù)加載到數(shù)據(jù)庫中。如果數(shù)據(jù)量很小,可以使用任何類型的數(shù)據(jù)庫。BI、大數(shù)據(jù)處理和機(jī)器學(xué)習(xí)中使用的一種特定類型的數(shù)據(jù)庫稱為數(shù)據(jù)倉庫。
倉庫的結(jié)構(gòu)不同于通常的數(shù)據(jù)庫:它可能包含多種工具來表示來自多個(gè)維度的數(shù)據(jù),并使其可供每個(gè)用戶訪問。數(shù)據(jù)表示 工具連接到倉庫,以便用戶可以將其拖出并進(jìn)行操作。表示工具是通過交互式儀表板和報(bào)告工具提供分析數(shù)據(jù)的實(shí)際 BI 工具。
通常,ETL 開發(fā)人員是數(shù)據(jù)工程團(tuán)隊(duì)的一員——負(fù)責(zé)數(shù)據(jù)提取、處理、存儲(chǔ)和維護(hù)相應(yīng)基礎(chǔ)架構(gòu)的酷孩子。數(shù)據(jù)工程團(tuán)隊(duì)的主要任務(wù)是獲取原始數(shù)據(jù),決定它應(yīng)該如何被消費(fèi),使其成為消費(fèi),然后存儲(chǔ)在某個(gè)地方。
團(tuán)隊(duì)的名單取決于項(xiàng)目的范圍、目標(biāo)、數(shù)據(jù)處理的步驟和所需的技術(shù)。因此,數(shù)據(jù)工程團(tuán)隊(duì)可能包括以下角色:
數(shù)據(jù)架構(gòu)師:可以是數(shù)據(jù)科學(xué)或數(shù)據(jù)工程團(tuán)隊(duì)的一員。數(shù)據(jù)架構(gòu)師的職責(zé)是規(guī)劃數(shù)據(jù)工程師將開發(fā)的基礎(chǔ)設(shè)施。
數(shù)據(jù)工程師:這是一種特定類型的軟件工程師,他們開發(fā)接口和生態(tài)系統(tǒng)以獲取信息。
數(shù)據(jù)分析師:該團(tuán)隊(duì)成員負(fù)責(zé)定義數(shù)據(jù)收集方法、數(shù)據(jù)模型、類型并概述轉(zhuǎn)換過程。
數(shù)據(jù)庫/倉庫開發(fā)人員:數(shù)據(jù)作為任何其他信息必須存儲(chǔ)在某個(gè)地方。它可以是普通的 SQL 數(shù)據(jù)庫,也可以是特殊類型的存儲(chǔ)數(shù)據(jù)倉庫。數(shù)據(jù)庫/倉庫開發(fā)人員負(fù)責(zé)數(shù)據(jù)存儲(chǔ)的建模、開發(fā)和維護(hù)。
DBA 或數(shù)據(jù)庫管理員:如果有多個(gè)數(shù)據(jù)庫,或者一個(gè)數(shù)據(jù)庫/倉庫的結(jié)構(gòu),像火箭科學(xué)一樣復(fù)雜,這是一個(gè)負(fù)責(zé)數(shù)據(jù)庫管理的人。
數(shù)據(jù)科學(xué)家:處理機(jī)器學(xué)習(xí)的項(xiàng)目還包括數(shù)據(jù)科學(xué)專家,甚至是專門的部門。
商業(yè)智能開發(fā)人員:這是一位專注于開發(fā) BI 接口的軟件工程師。
ETL 開發(fā)人員:通過開發(fā)/管理相應(yīng)的基礎(chǔ)設(shè)施來涵蓋數(shù)據(jù)處理的提取、轉(zhuǎn)換和加載階段。ETL 開發(fā)人員的職責(zé)是什么?
就 BI 項(xiàng)目而言,ETL 開發(fā)人員是主要的工程角色之一。雖然主要職責(zé)是負(fù)責(zé)提取、轉(zhuǎn)換、加載階段,但 ETL 開發(fā)人員執(zhí)行與數(shù)據(jù)分析、測(cè)試和系統(tǒng)架構(gòu)相關(guān)的任務(wù)。為了概述 ETL 開發(fā)人員可以執(zhí)行的所有可能任務(wù),我們將很快介紹所有可能的任務(wù):
流程管理
ETL 開發(fā)人員或?qū)iT的開發(fā)人員團(tuán)隊(duì)的主要任務(wù)是:
設(shè)計(jì)ETL流程設(shè)計(jì)
系統(tǒng)架構(gòu)設(shè)計(jì)
需求管理及開發(fā)
ETL工具的實(shí)際開發(fā)/實(shí)施
對(duì)工具和數(shù)據(jù)測(cè)試
數(shù)據(jù)建模
在從源中提取數(shù)據(jù)之前,ETL 開發(fā)人員應(yīng)定義所需的格式。將在倉庫(和用戶界面)中表示的數(shù)據(jù)的最終格式稱為數(shù)據(jù)模型。
通過與業(yè)務(wù)分析師、數(shù)據(jù)分析師和數(shù)據(jù)科學(xué)家合作,構(gòu)建和記錄數(shù)據(jù)模型。ETL 開發(fā)人員將使用這些模型來定義轉(zhuǎn)換階段和執(zhí)行格式化的底層技術(shù)。
架構(gòu)設(shè)計(jì)
倉庫是用于保存結(jié)構(gòu)化數(shù)據(jù)的大型存儲(chǔ)設(shè)施。它通常被分解成更小的元素,如數(shù)據(jù)集市。數(shù)據(jù)集市用于為專門的部門提供對(duì)具有特定屬性的所需數(shù)據(jù)的訪問權(quán)限。例如,如果倉庫是收集所有信息的大型存儲(chǔ)區(qū)域,則數(shù)據(jù)集市是存儲(chǔ)主題數(shù)據(jù)(會(huì)計(jì)、網(wǎng)站指標(biāo)等)的較小數(shù)據(jù)庫。
倉庫本身或數(shù)據(jù)集市連接到最終用戶界面,幫助用戶訪問信息、操作信息、進(jìn)行查詢和形成報(bào)告。此外,數(shù)據(jù)可以在格式化階段用元數(shù)據(jù)豐富,這也涉及到整個(gè)倉庫架構(gòu)的變化。
ETL 開發(fā)人員負(fù)責(zé)定義數(shù)據(jù)倉庫架構(gòu)以及將數(shù)據(jù)加載到其中的工具。倉儲(chǔ)是一個(gè)復(fù)雜的過程,其開發(fā)通常由專門類型的數(shù)據(jù)庫開發(fā)人員進(jìn)行。但是,ETL 開發(fā)人員可以擁有構(gòu)建它所需的所有技能和知識(shí)。
數(shù)據(jù)開發(fā)
每個(gè)系統(tǒng)組件獨(dú)立設(shè)計(jì)后的最后階段是數(shù)據(jù)管道的開發(fā)。數(shù)據(jù)管道是一種技術(shù)基礎(chǔ)設(shè)施,它將作為單個(gè)系統(tǒng)自動(dòng)執(zhí)行以下操作:
Data extraction from a given sources.只要信息存儲(chǔ)在各種系統(tǒng)中,ETL 工具就應(yīng)該與每個(gè)系統(tǒng)集成。
Data uploading into a staging area.暫存區(qū)是格式化發(fā)生的地方。在某些情況下,可以在倉庫中完成,但大多數(shù)情況下使用單獨(dú)的數(shù)據(jù)庫來加快流程并保持倉庫清潔。
Data formatting. 當(dāng)數(shù)據(jù)傳輸?shù)綍捍鎱^(qū)時(shí),它會(huì)被格式化以滿足定義的標(biāo)準(zhǔn)。這可能包括以下操作:
數(shù)據(jù)清洗,刪除無用數(shù)據(jù)字段的過程
數(shù)據(jù)結(jié)構(gòu)/映射,定義數(shù)據(jù)類型的過程以及它們之間的連接
添加元數(shù)據(jù)以豐富詳細(xì)信息
Loading structured data into the warehouse. 數(shù)據(jù)可以按部分加載或不斷更新。動(dòng)態(tài)信息可能需要查詢方法來從數(shù)據(jù)源請(qǐng)求更新的數(shù)據(jù)。如果不需要更新,則按部分加載數(shù)據(jù)。
ETL 測(cè)試
在開發(fā)過程中,ETL 開發(fā)人員負(fù)責(zé)測(cè)試系統(tǒng)、單元、數(shù)據(jù)模型和倉庫架構(gòu)。除了常規(guī)的 QA 活動(dòng)外,ETL 測(cè)試還需要檢查以下方面:
Data model testing
Data warehouse architecture testing
Representation tools check
Data flow validation
Uploading/downloading/querying speed testing
System performance tests
數(shù)據(jù)采集
數(shù)據(jù)交換
數(shù)據(jù)轉(zhuǎn)換
數(shù)據(jù)清洗
數(shù)據(jù)質(zhì)量管理
數(shù)據(jù)比對(duì)