? ? ? 上周因?yàn)樵谔幚砗芏鄶?shù)據(jù)源集成的事情一直沒有更新系列文章,在這周后開始規(guī)律更新。在維度建模中我們已經(jīng)了解數(shù)據(jù)倉(cāng)庫(kù)中的維度建模方法以及基本要素,在這篇文章中我們將學(xué)習(xí)了解數(shù)據(jù)倉(cāng)庫(kù)的ETL過程以及實(shí)用的ETL工具。
????一、什么是ETL?
????構(gòu)建數(shù)據(jù)倉(cāng)庫(kù)的核心是建模,在數(shù)據(jù)倉(cāng)庫(kù)的構(gòu)建中,ETL貫穿于項(xiàng)目始終,它是整個(gè)數(shù)據(jù)倉(cāng)庫(kù)的生命線。從數(shù)據(jù)源中抽取數(shù)據(jù),然后對(duì)這些數(shù)據(jù)進(jìn)行轉(zhuǎn)化,最終加載到目標(biāo)數(shù)據(jù)庫(kù)或者數(shù)據(jù)倉(cāng)庫(kù)中去,這也就是我們通常所說的 ETL 過程(Extract,Transform,Load)。
????通常數(shù)據(jù)抽取工作分抽取、清洗、轉(zhuǎn)換、裝載幾個(gè)步驟:

? ? ? ?抽取主要是針對(duì)各個(gè)業(yè)務(wù)系統(tǒng)及不同服務(wù)器的分散數(shù)據(jù),充分理解數(shù)據(jù)定義后,規(guī)劃需要的數(shù)據(jù)源及數(shù)據(jù)定義,制定可操作的數(shù)據(jù)源,制定增量抽取和緩慢漸變的規(guī)則。
?????清洗主要是針對(duì)系統(tǒng)的各個(gè)環(huán)節(jié)可能出現(xiàn)的數(shù)據(jù)二義性、重復(fù)、不完整、違反業(yè)務(wù)規(guī)則等數(shù)據(jù)質(zhì)量問題,允許通過數(shù)據(jù)抽取設(shè)定的數(shù)據(jù)質(zhì)量規(guī)則,將有問題的記錄先剔除出來,根據(jù)實(shí)際情況調(diào)整相應(yīng)的清洗操作。
?????轉(zhuǎn)換主要是針對(duì)數(shù)據(jù)倉(cāng)庫(kù)建立的模型,通過一系列的轉(zhuǎn)換來實(shí)現(xiàn)將數(shù)據(jù)從業(yè)務(wù)模型到分析模型,通過ETL工具可視化拖拽操作可以直接使用標(biāo)準(zhǔn)的內(nèi)置代碼片段功能、自定義腳本、函數(shù)、存儲(chǔ)過程以及其他的擴(kuò)展方式,實(shí)現(xiàn)了各種復(fù)雜的轉(zhuǎn)換,并且支持自動(dòng)分析日志,清楚的監(jiān)控?cái)?shù)據(jù)轉(zhuǎn)換的狀態(tài)并優(yōu)化分析模型。
????裝載主要是將經(jīng)過轉(zhuǎn)換的數(shù)據(jù)裝載到數(shù)據(jù)倉(cāng)庫(kù)里面,可以通過直連數(shù)據(jù)庫(kù)的方式來進(jìn)行數(shù)據(jù)裝載,可以充分體現(xiàn)高效性。在應(yīng)用的時(shí)候可以隨時(shí)調(diào)整數(shù)據(jù)抽取工作的運(yùn)行方式,可以靈活的集成到其他管理系統(tǒng)中。
????二、主流的數(shù)據(jù)倉(cāng)庫(kù)有哪些?
????ETL過程我們簡(jiǎn)單介紹了一下,接下來我們來了解市面上常用的數(shù)據(jù)倉(cāng)庫(kù)解決方案。以下是個(gè)人根據(jù)產(chǎn)品對(duì)應(yīng)官網(wǎng)以及提供的資料總結(jié),對(duì)比的五種ETL工具(SEDWA、kettle、OracleGoldengate、informatica、talend)的比較,目前對(duì)于這些工具也是初步了解,后續(xù)根據(jù)實(shí)際的體驗(yàn)學(xué)習(xí)后再來進(jìn)一步總結(jié)豐富對(duì)比維度信息。注意工具排名不分先后,個(gè)人認(rèn)為技術(shù)沒有絕對(duì)的好壞,關(guān)鍵是看大家使用的場(chǎng)景。實(shí)際工作中選購(gòu)滿足公司需要的產(chǎn)品即可。

????好了,有關(guān)于ETL過程和ETL工具就介紹到這里。下一篇我們開始來了解數(shù)據(jù)倉(cāng)庫(kù)的架構(gòu)(數(shù)據(jù)倉(cāng)庫(kù)建設(shè)的總體規(guī)劃)。本文中如有錯(cuò)誤或誤導(dǎo)的地方歡迎大家指出糾正。希望這篇文章能夠給大家?guī)韼椭?,最后感謝大家的閱讀。