開發與維運

ETL都沒弄懂,談什麼大數據 ?我用一分鐘給你整明白

ETL背景
在現代的企業裡,每個部門都是一個獨立的業務條線,由於各部門各自為政,信息的不流通,就形成了“信息孤島”的尷尬局面,給企業的數據挖掘、報表開發等帶來非常大的困難。數據倉庫概念的誕生就是為了解決這個問題的,通過一定的技術把各部門的數據從原來的數據中抽取出來,進行加工與集成,統一與綜合之後再進入數據倉庫,為後續的DSS(決策支持系統)和BI(商務智能)等深度開發奠定基礎。而把數據源進行加工與集成的這個過程,就是ETL。
image.png

ETL概念
ETL的含義是將業務系統的數據經過抽取(Extract)、清洗轉換(Transform)之後加載(Load)到數據倉庫的過程,目的是為了將企業中零散的、不標準的、不統一的數據整合起來,並輸出標準和統一的數據源,為企業決策提供數據依據。實現ETL的方法主要有兩種,一種是通過編程語言去實現,但是門檻較高,一般人不易掌握。另一種是藉助ETL工具去實現,這種方式比較靈活,而且圖形化的界面操作起來比較簡單,現在大部分有數據倉庫需求的企業都是採用這種方式。
image.png

下面以智分析的自助ETL功能為案例模型,對數據抽取、數據轉換、數據加載進行詳細的介紹。
數據抽取
1、 確定數據源:文本數據源,kafka數據源,關係數據源,示例數據源,數據集
image.png

2、 定義數據接口:對每個源文件及系統的每個字段進行詳細說明
image.png

3、 確定數據抽取的辦法:是主動抽取還是由源系統推送;是增量抽取還是全量抽取;是按照每日抽取還是按照每月抽取。
數據轉換
• 數據採樣:通過隨機、加權、分層、下采樣四種方式對數據源進行抽取
• 數據拆分:將原本樣本集按照訓練集和測試集的方式拆分成2個子集
• 數據過濾:按照用戶需求,通過寫SQL語句,對數據按照過濾表達式進行篩選
• 數據合併:將兩張表按行或列的方式進行合併
• 數據關聯:通過內連接、左右連接、全連接的方式對兩個表格進行關聯
• 空值處理、去除重複值、聚合…
image.png

數據加載
將清洗和轉換好的數據直接加載到數據庫對應表中,如果是全量方式則採用覆蓋的方式,如果是增量則選擇追加的方式。
image.png

ETL工具選擇
1、 智分析是由smartbi公司開發的雲端SaaS平臺,包含了強大的ETL功能,以工作流的形式實現為庫表提取數據模型的語義,通過易於操作的可視化工具,將數據加工成具備語義一致性與完整性的數據模型,通過封裝ETL算法,將技術分離,可以實現業務人員進行自助ETL操作。
2、 Kettle是一款國外免費開源的、可視化的、功能強大的ETL工具,可以在Windows、Linux、Unix上運行,數據抽取高效穩定。但是也有不少缺點,例如打開時速度慢、性能較差、存在著不少無法解決的bug等其他問題,給用戶的體驗並不是十分的完美。
3、 Datastage是一款非常專業的ETL處理工具,為整個 ETL 過程提供了一個圖形化的開發環境,它是一套專門對多種操作數據源的數據抽取、轉換和維護過程進行簡化和自動化,並將其輸入數據集或數據倉庫的集成工具。但是價格比較昂貴,企業版的花費每月需好幾萬的人民幣。
4、 Informatica與Datastage旗鼓相當,也是一款專業的商業ETL處理工具,依靠圖形化的操作界面,無需編程語言便可以完成ETL過程的操作,雖然價格比Datastage略低,但要部署的話也需要不少的預算。
ETL的意義
在當今社會分秒必爭的商業環境裡,ETL技術可以大大增強大數據的處理速度,為商業決策贏得更多的寶貴時間,同時也為數據倉庫的建立奠定了良好的基礎。通常在進行數據分析時會用到BI與ETL這兩個工具,但是市面上大部分的BI工具都不具有ETL的功能,而智分析則打破了這個侷限,以雲端SaaS的BI為基礎,推出自助ETL的功能,旨在降低工具操作的複雜度,提供人人都是數據分析師的自助式數據探索工具,讓業務人員可以快速挖掘數據中蘊藏的價值,最終實現商業價值的快速提升。

Leave a Reply

Your email address will not be published. Required fields are marked *