ETL到底是什麼?

ourway發表於2023-05-05

各位資料的朋友,大家好,我是老周道資料,和你一起,用常人思維 +資料分析,透過資料講故事。


前段時間和大家聊了一個話題,就是為什麼要用構建資料倉儲,而不是直連資料來源的方式開發報表?透過這次的話題,大家知道了構建資料倉儲就等於是打好堅實的地基,而 BI 大廈也才能越建越高!在構建資料倉儲的過程需要用到一個工具,也就是ETL。今天就和大家聊一下,ETL到底是什麼?

ETL到底是什麼?

ETL是Extraction-Transformation-Loading的縮寫,中文名稱為資料提取、轉換和載入。看字面意思不是很好理解,那ETL到底是什麼?先講一個故事吧。

小強和小麗結婚一年了,事業家庭都穩定了下來,準備要生 BB了,父母聽到這個訊息,非常高興,堅持要從另一個城市搬過來幫忙。但是,小強現在住的地方是一個一房一廳,有點小,所以,得搬一個大點的房子。於是,小強找到了一間新房子:三房兩廳兩衛,還有一個大陽臺。

終於落實好,就要準備搬家了。一個週末,小夫妻兩個人將舊住所中需要的東西打好包,而一些不再需要的東西就只有丟掉了,忙碌了整整一個上午。中午,搬家公司來了,將打包的東西運到新住所,接下來,兩個人又開始忙碌,將打包的東西解開,重新整理,擺放。原來的洗衣機是擠在衛生間的,現在終於可以放到陽臺上了 ......。

下午,父母的東西也運過來了。要將他們個人的東西放到另一個臥室,對了,他們還帶了一個電飯煲,小強原來也有一個的,這個還得想辦法處理一下 ......好了,好像還缺點什麼,需要再去採購些物品......

經過週末兩天的忙碌,終於,按照自己和父母的喜好,重新擺放好了,真舒適啊:一進客廳,黑白色調的沙發、茶几和電視顯的素雅而高貴,特別是牆上的照片,從兩個人認識、戀愛到結婚,講述著一個迷人的愛情故事。餐桌上擺著父母帶來的青花瓷茶具,泡出來的茶中溢著歲月的沉香;進到主臥,大大的梳妝檯和衣櫃是女主人的最愛,而床頭的書架,則是男主人的地盤 ......進到客臥,深色的衣櫃和床,有些復古的感覺,窗臺上的白玉蘭花沐浴著陽光,這是父母共同的愛好.....

小強和小麗牽著手,看著這個溫馨的家,臉上洋溢著幸福,窗外的陽光灑落進來,鏡頭拉遠,定格, The   End, 故事講完了。這個故事是在講都市愛情故事呢?還是房地產公司精心策劃的廣告?

都不是,我們想用它來說說 ETL是什麼的。好吧,言歸正傳,我們重新來講一遍故事。

小強( 已經使用的 ERP)因為要生BB( 正要實施的 MES)加上父母( 已經使用的 HR)要過來,所以,需要換一套大的房子( DW資料倉儲)。大房子會根據實際的需求進行規劃(三房兩廳兩衛,還有一個大陽臺)。捋一下,就是將E RP /HR /MES的資料整合到資料倉儲中去。

 

ETL其實就是資料搬家的過程。

搬家第一步,我們要將舊住所的東西打包;第二步,我們叫來搬家公司將打包的東西運輸到新住所;第三步,我們在新住所將打包的東西解開,重新整理,擺放。

ETL就是資料搬家的過程,第一步,將有用的表和欄位整理出來;第二步,將這些欄位搬到另外一個資料庫中,實現物理上的轉移;第三步,再按新的分析需求,重新清洗整理這些資料。 聽到現在,你可能覺得好像是有些理解 了。但具體是怎麼實現 ETL的過程呢,且聽我慢慢道來。

 

第一步打包, 到底怎麼將有用的表和欄位打包呢?

生活中的搬家,我們在打包的時候,大家通常是整理每個房間,看哪些物品是有用的,就放在一個箱子裡,整理的時候,只會考慮這個物品是不是有用,至於這個物品搬到新家後放在哪裡,是不會去過多的思考的。如果我們先想著哪些東西都是要放到新房子主臥的,再將這些東西全部放在一起打包。那一定是有強迫症了。

ETL過程中,有些朋友就會這樣,習慣了原來寫SQL或存貯過程開發報表的方式,在搬資料時,也是寫檢視或存貯過程,將結果搬到資料倉儲中去。這種方式非常不好,為什麼呢?首先,它仍然是老思路,只是原來是存貯在臨時表中,現在改為存貯在物理表中。技術或工具的升級,其實首先是要升級思維方式;其次,一旦需求發生變化,就需要頻繁修改檢視或存貯過程,後端開發的工作量很大。

正確的做法是, 只考慮分析需求中的資料,來自哪些表或欄位,就把涉及到的表與欄位原封不動的搬過去,至於搬過去後怎麼用,等搬過去再說,先不著急。

 

不同的業務系統,會有許多相同的基礎資料,如都有部門這個基礎資料,但大家的編碼或名稱可能不一樣,這就需要額外處理一下,就好像父母也帶了一個電飯煲需要想辦法處理一樣。

構建資料倉儲時,總會有一些資料可能並不存在於某個業務系統中,如電商平臺的資料,或者手工維護的預算資料。要使用這些資料,就需要額外導進去,就好像還缺點什麼,需要再去採購些物品一樣。

小強小兩口週末兩天的忙碌是辛苦的,但也是值得的。 ETL的意義或價值,就好像小強小兩口的忙碌一樣,是為了最後有一個舒適的新家。

資料倉儲構建好後,才有可能基於資料倉儲來構建分析模型並根據自己的喜好展現最終的結果。客廳裡一目瞭然的就是管理駕駛艙,既有 ERP的資訊(小強的電視),也有HR的資訊(父母的茶具),而進到主臥,則好像進入到某個具體的分析主題一樣;而進到客臥,則相當於切換到另外一個分析主題。

ETL的質量決定了BI是否成功(小強從此過上了幸福的生活。)

 

總結

ETL就是資料搬家的過程,第一步,將有用的表和欄位打包;第二步,將這些欄位搬到資料倉儲中,實現物理上的轉移;第三步,再按新的分析需求,重新清洗整理這些資料。

 

老周道資料,和你一起,用常人思維 +資料分析,透過資料講故事,我們下一講再見!


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70024013/viewspace-2950107/,如需轉載,請註明出處,否則將追究法律責任。

相關文章