當前位置:網站首頁>關於ETL看這篇文章就够了,三分鐘讓你明白什麼是ETL

關於ETL看這篇文章就够了,三分鐘讓你明白什麼是ETL

2022-06-24 08:43:54派可數據BI可視化

今天來聊一個技術問題,有關 ETL 的開發。對於做過 商業智能BI 開發的朋友,ETL 並不陌生,只要涉及到數據源的數據抽取、數據的計算和處理過程的開發,都是 ETL。

ETL是什麼

ETL一共有三個階段,分別是Extraction 抽取,Transformation 轉換,Loading 加載。從不同數據源抽取數據 EXTRACTION ,按照一定的數據處理規則對數據進行加工和格式轉換 TRASFORMATION,最後處理完成的輸出到目標數據錶中也有可能是文件等等,這個就是 LOADING。

ETL - 派可數據商業智能BI可視化分析平臺

再通俗一點講,ETL 的過程就跟大家日常做菜一樣,需要到菜市場的各個攤比特買好菜,把菜買回來要摘一下,洗一洗,切一切最後下鍋把菜炒好端到飯桌上。菜市場的各個攤比特就是數據源,做好的菜就是最終的輸出結果,中間的所有過程像摘菜、洗菜、切菜、做菜就是轉換。

ETL怎麼實現

在開發的時候,大部分時候會通過 ETL 工具去實現,比如常用的像 KETTLE、PENTAHO、IBM DATASTAGE、INFORNAICA、微軟 SQL SERVER 裏面的 SSIS 等等,在結合基本的 SQL 來實現整個 ETL 過程。

也有的是自己通過程序開發,然後控制一些數據處理脚本跑批,基本上就是程序加 SQL 實現。

ETL - 派可數據商業智能BI可視化分析平臺

哪種方式更好,也是需要看使用場景和開發人員對那種方式使用的更加得心應手。我看大部分軟件程序開發人員出身的,碰到數據類項目會比較喜歡用程序控制跑批,這是程序思維的自然延續。純 商業智能BI 開發人員大部分自然就選擇成熟的 ETL 工具來開發,當然也有一上來就寫程序脚本的,這類 商業智能BI 開發人員的師傅基本上是程序人員轉過來的。

用程序的好處就是適配性强,可擴展性强,可以集成或拆解到到任何的程序處理過程中,有的時候使用程序開發效率更高。難就難在對維護人員有一定的技術要求,經驗轉移和可複制性不够。

ETL - 派可數據商業智能BI可視化分析平臺

用 ETL 工具的好處,第一是整個 ETL 的開發過程可視化了,特別是在數據處理流程的分層設計中可以很清晰的管理。第二是鏈接到不同數據源的時候,各種數據源、數據庫的鏈接協議已經內置了,直接配置就可以,不需要再去寫程序去實現。第三是各種轉換控件基本上拖拉拽就可以使用,起到簡化的代替一部分 SQL 的開發,不需要寫代碼去實現。第四是可以非常靈活的設計各種 ETL 調度規則,高度配置化,這個也不需要寫代碼實現。

所以在大多數通用的項目中,在項目上使用 ETL 標准組件開發會比較多一些。

ETL設計理念是什麼

ETL 從邏輯上一般可以分為兩層,控制流和數據流,這也是很多 ETL 工具設計的理念,不同的 ETL 工具可能叫法不同。

控制流就是控制每一個數據流與數據流處理的先後流程,一個控制流可以包含多個數據流。比如在數據倉庫開發過程中,第一層的處理是ODS層或者staging 層的開發,第二層是 DIMENSION維度層的開發,後面幾層就是DW 事實層、DM數據集市層的開發。通過ETL的調度管理就可以讓這幾層串聯起來形成一個完整的數據處理流程。

ETL - 派可數據商業智能BI可視化分析平臺

數據流就是具體的從源數據到目標數據錶的數據轉換過程,所以也有 ETL 工具把數據流叫做轉換。在數據流的開發設計過程中主要就是三個環節,目標數據錶的鏈接,這兩個直接通過 ETL 控件配置就可以了。中間轉換的環節,這個時候就可能有很多的選擇了,調 SQL 語句、存儲過程,或者還是使用 ETL 控件來實現。

有的項目上習慣使用 ETL 控件來實現數據流中的轉換,也有的項目要求不使用標准的轉換組件使用存儲過程來調用。也有的是因為數據倉庫本身這個數據庫不支持存儲過程就只能通過標准的SQL來實現。

ETL架構是什麼

我們通常講的商業智能BI數據架構師其實指的就是ETL的架構設計,這是整個商業智能BI項目中非常核心的一層技術實現,數據處理、數據清洗和建模都是在ETL中去實現。

商業智能BI - 派可數據商業智能BI可視化分析平臺

一個好的ETL架構設計可以同時支撐上百個包就是控制流,每一個控制流下可能又有上百個數據流的處理過程。之前寫過一篇技術文章,大家可以搜索下關鍵字 BIWORK ETL 應該在網上還能找到到這篇文章。

這種框架設計不僅僅是ETL框架架構上的設計,還有很深的ETL項目管理和規範性控制器思想,包括後期的運維,基於商業智能BI的商業智能BI分析,ETL的性能調優都會在這些框架中得到體現。因為大的商業智能BI項目可能同時需要幾十人來開發ETL,框架的頂層設計就很重要。

版權聲明
本文為[派可數據BI可視化]所創,轉載請帶上原文鏈接,感謝
https://cht.chowdera.com/2022/175/202206240622241440.html

隨機推薦