ETL都沒弄懂,談什麼大資料 ?我用一分鐘給你整明白
ETL 背景
在現代的企業裡,每個部門都是一個獨立的業務條線,由於各部門各自為政,資訊的不流通,就形成了“資訊孤島”的尷尬局面,給企業的資料探勘、報表開發等帶來非常大的困難。資料倉儲概念的誕生就是為了解決這個問題的,透過一定的技術把各部門的資料從原來的資料中抽取出來,進行加工與整合,統一與綜合之後再進入資料倉儲,為後續的DSS(決策支援系統)和BI(商務智慧)等深度開發奠定基礎。而把資料來源進行加工與整合的這個過程,就是ETL。
ETL 概念
ETL 的含義是將業務系統的資料經過抽取(Extract)、清洗轉換(Transform)之後載入(Load)到資料倉儲的過程,目的是為了將企業中零散的、不標準的、不統一的資料整合起來,並輸出標準和統一的資料來源,為企業決策提供資料依據。實現ETL的方法主要有兩種,一種是透過程式語言去實現,但是門檻較高,一般人不易掌握。另一種是藉助ETL工具去實現,這種方式比較靈活,而且圖形化的介面操作起來比較簡單,現在大部分有資料倉儲需求的企業都是採用這種方式。
下面以智分析的自助ETL功能為案例模型,對資料抽取、資料轉換、資料載入進行詳細的介紹。
資料抽取
1、 確定資料來源:文字資料來源,kafka資料來源,關係資料來源,示例資料來源,資料集
2、 定義資料介面:對每個原始檔及系統的每個欄位進行詳細說明
3、 確定資料抽取的辦法:是主動抽取還是由源系統推送;是增量抽取還是全量抽取;是按照每日抽取還是按照每月抽取。
資料轉換
· 資料取樣:透過隨機、加權、分層、下采樣四種方式對資料來源進行抽取
· 資料拆分:將原本樣本集按照訓練集和測試集的方式拆分成2個子集
· 資料過濾:按照使用者需求,透過寫SQL語句,對資料按照過濾表示式進行篩選
· 資料合併:將兩張表按行或列的方式進行合併
· 資料關聯:透過內連線、左右連線、全連線的方式對兩個表格進行關聯
· 空值處理、去除重複值、聚合…
資料載入
將清洗和轉換好的資料直接載入到資料庫對應表中,如果是全量方式則採用覆蓋的方式,如果是增量則選擇追加的方式。
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的功能,旨在降低工具操作的複雜度,提供人人都是資料分析師的自助式資料探索工具,讓業務人員可以快速挖掘資料中蘊藏的價值,最終實現商業價值的快速提升。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69980489/viewspace-2746891/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 什麼是NoSQL?這裡給你整明白SQL
- 大資料都學什麼?大資料
- 3分鐘讓你明白JSON是什麼JSON
- EXCEL資料太“髒”無從下手?何須用python,ETL一分鐘搞定ExcelPython
- EXCEL資料缺失、混亂、重複怎麼辦?我用ETL帶你走出困境Excel
- 這都Java15了,Java7特性還沒整明白?Java
- 一分鐘告訴你究竟DevOps是什麼鬼?dev
- 一分鐘搞明白!快速掌握 Go WebAssemblyGoWeb
- 大資料先行應變 整個世界都為你讓路大資料
- 你沒玩過,憑什麼給遊戲打分?遊戲
- 為什麼現在要談大資料?大資料
- 資料治理帶給我了什麼收穫?
- 我學習的程式設計,都給我帶來了什麼?程式設計
- 你沒有大資料大資料
- 11行虛擬碼給你講明白什麼是演算法演算法
- 大資料的發展,給我們生活帶來了什麼影響?大資料
- [提問交流]我是新手,我不太明白為什麼後臺很多都說非法操作。
- 我們該從Facebook史上最大資料洩露事件中明白什麼?大資料事件
- Promise 你真的用明白了麼?Promise
- 什麼仇?什麼怨?我竟然愛上大資料了!大資料
- 十分鐘明白什麼是容器技術
- [譯] 為什麼我還沒 Fix 你的 Issue
- 阿里面試涼透了,JVM+Redis+MySQL+併發+分散式等都說不明白,憑什麼給你Offer?阿里面試JVMRedisMySql分散式
- 什麼是大資料?大資料能做什麼?大資料
- 《我用什麼才能留住你》
- 談Web應用開發時我們談什麼Web
- 資料庫日常管理 ? 我有這些經驗淺談交給你資料庫
- 3分鐘整明白啥是 快取雪崩快取
- 大資料分析方法,你都知道哪些?大資料
- 大資料能做什麼,為什麼學大資料大資料
- 一分鐘明白MySQL聚簇索引和非聚簇索引MySql索引
- 當我談 HTTP 時,我談些什麼?HTTP
- SQL:我為什麼慢你心裡沒數嗎?SQL
- BI, 資料倉儲,ETL, 資料開發,有什麼區別
- 為什麼用CDN給你網站加速?網站
- 大資料測試之ETL大資料
- 一整個分析模型庫,大資料分析工具都這麼玩了嗎?模型大資料
- 為什麼沒有“小資料”大資料就毫無意義?大資料