做好一個BI項目的關鍵是什么?有人會說,那肯定是報表,報表是
數據分析最直接的成果展示,好的報表能夠幫助企業從各種紛雜的信息中及時地發現關鍵有效的信息,從而為決策提供支持。誠然,報表很重要,這是毋庸置疑的,但是從另一個層面也反映出大部分人走入了一個誤區,拿BI當
報表系統來用,這有點大才小用的感覺,報表只是BI項目中的一個環節,在我看來,做好ETL,做好數據處理,那么剩下的
報表分析工作,就會事半功倍。
BI中的ETL到底是什么?
那么是什么ETL?ETL 的英文全稱叫做 Extraction 抽取,Transformation 轉換,Loading 加載。ETL是將業務系統的數據經過抽取、清洗轉換之后加載到
數據倉庫的過程。

抽取就是指將數據從一個數據源、或者多個數據源抽取過來的動作,數據源有可能是關系型數據庫,也可能是文本文件,或者一個程序的API接口。ETL的數據抽取具有豐富的數據連接能力,支持目前主流的關系數據庫,如Oracle、Mysql、DB2、MSSQL、Presto+hive、星環、PG、Gauss100、Greenplum等等,通過創建數據源快速連接企業的業務數據庫。
轉換就是指數據的清洗、合并、拆分、加工、數據邏輯計算處理的過程,通常會按照一定的業務邏輯規則進行計算,最后轉換成符合業務模型、分析模型的規范性的數據。簡單來說,不管是大數據、小數據,都是將不規范的、不可分析的、轉換成規范的、可分析的數據。
加載就是將轉換的結果按照分析模型需要的格式將數據寫入到目標表,這些目標表就是業務自助分析的數據來源,通過是按照一定建模的方式來組織的,不管是星型分析模型還是雪花型分析模型都是的。
這就是在 BI 中我們通常定義的ETL處理過程,實現BI的過程就需要ETL。ETL是BI項目建設中重要的一個環節,通常情況下ETL會花掉整個項目的1/3的時間,ETL設計的好壞直接關系到BI項目的成敗。ETL也是一個長期的過程,只有不斷的發現問題并解決問題,才能使ETL運行效率更高,為項目后期開發提供準確的數據。
ETL具體如何實現?
ETL通常通過什么方式或者工具來實現呢?ETL的實現有多種方法,常用的有三種:
一種是借助ETL工具(如Oracle的OWB、SQL Server 2000的DTS、SQL Server2005的SSIS服務、Informatic等)實現,一種是SQL方式實現,另外一種是ETL工具和SQL相結合。
前兩種方法各有各的優缺點,借助工具可以快速的建立起ETL工程,屏蔽了復雜的編碼任務,提高了速度,降低了難度,但是缺少靈活性。SQL的方法優點是靈活,提高ETL運行效率,但是編碼復雜,對技術要求比較高。第三種是綜合了前面二種的優點,會極大地提高ETL的開發速度和效率。
但目前的現狀是越來越多的BI企業為了追求所謂的 "敏捷" 基本上已經放棄了傳統數據倉庫的構建。敏捷快速開發是沒有錯,但很多人錯就錯在沒有分清楚什么時候應該敏捷,什么時候應該保留傳統數據倉庫的架構。
這類產品的定位實際上更加適用于個人或者部門級的數據分析場景,并不適合一個真正企業級的 BI 項目構建。對于真正注重企業級 BI 的項目開發,我們不應該削弱數據倉庫的作用,反而更應該加強。
億信ABI的數據處理方案
億信華辰的ABI產品中的ETL屬于上述提到的實現ETL的第三種方式,平臺內置了數倉實施工具,其中豐富的處理轉換組件,通過拖拽式的流程設計,實現了數據抽取、清洗、轉換、裝載及調度,用于幫助政府和企業構建數據倉庫,完成數據融合,提升
數據質量,服務數據分析。具有以下幾個亮點:
1. 可視化的拖拽式任務設計,實施更高效
相比起市面上的ETL工具,億信華辰的ETL程序設計人性化,運用大量可視化技術,讓傳統的數據整合黑盒子過程變得透明可見。有圖形化的開發和監控界面,操作更易用,學習成本低,相應的運維成本低。
一般情況下,ETL過程設計需要用到大量的代碼,且重復利用率較低。億信ABI中的ETL支持批量創建和數據抽樣,開發過程支持多人協同定義,共享資料庫等等符合實施人員習慣,并此基礎上封裝大量清洗轉換規則,大大降低技術門檻,簡單拖拽配置即可快速的建立起ETL工程,讓實施更高效。
2.內置豐富的處理轉換組件,操作更簡單
豐富的數據處理組件也是億信ETL的一大亮點。億信ABI中的ETL組件豐富多樣,面向數據分析師精心打造,滿足各種各樣的數據處理場景。之前一個簡單的數據處理需求,前期在技術人員這里可能徘徊2-3天的樣子,更何況還有后期的修改,有了豐富的可視化ETL組件,復用率高,操作簡單,數據處理更高效。
億信ABI中內置組件包括:輸入輸出組件、轉換組件、流程組件、統計組件、數倉組件、腳本組件、大數據組件、其他組件。以轉換組件里面的清洗組件為例,清洗組件支持記錄級清洗和字段級清洗,內置50多種規則,支持在一個組件中完成多次清洗轉換設置,并支持清洗前后結果預覽。
3.靈活的調度任務,滿足復雜的場景需求
如果說ETL是BI的基礎,那么調度就是ETL的靈魂。我們監控ETL的運行情況,任何程序都不能保證永不出錯,需要做確保故障出現后能夠彌補。ETL的調度通過ABI調度任務自動執行,系統對ETL調度在狀態、啟用情況、執行時間上進行監控。ETL工作流定制完成時,系統自動設置計劃任務進行ETL調度。用戶只需簡單操作,即可實現復雜的調度任務。
億信ABI的ETL調度導向,深度考慮各使用場景,在便捷易用的同時,滿足數據處理時不同的用戶需求。支持基于時間或事件的調度機制,如:任意事件周期、文件到達、腳本事件等;調度設置支持crontab表達式;調度設置能指定到月份、星期、日期、小時、分鐘的粒度;支持設置調度的時間窗口,重調時間間隔等。如果ETL錯誤了,不僅要形成ETL出錯日志,而且要向系統管理員發送警告。發送警告的方式多種,一般常用的就是給系統管理員發送郵件,并附上錯誤信息,方便管理員排查錯誤。
4.隔離設計,應用更穩定
另外,為保證運行環境的穩定可靠,億信ABI還提供了設計區與運行區隔離的機制,所有作業的修訂和更改通過在設計區完成調試和試運行后,通過發布機制,發布到穩定的運行環境,保證開發和運行兩不耽誤。

結語:ETL技術可以大大增強大數據的處理速度,為商業決策贏得更多的寶貴時間,同時也為數據倉庫的建立奠定了良好的基礎。億信ABI產品中ETL作為數據處理的核心模塊,旨在降低工具操作的復雜度,讓業務人員可以快速挖掘數據中蘊藏的價值,最終實現商業價值的快速提升。
(部分內容來源網絡,如有侵權請聯系刪除)