etl是什么
對于做過 BI 開發的朋友 , ETL 并不陌生 , 只要涉及到數據源的數據抽取、數據的計算和處理過程的開發 , 都是 ETL , ETL 就這三個階段 , Extraction 抽取 , Transformation 轉換 , Loading 加載 。
從不同數據源抽取數據 EXTRACTION , 按照一定的數據處理規則對數據進行加工和格式轉換 TRASFORMATION , 最后處理完成的輸出到目標數據表中也有可能是文件等等 , 這個就是 LOADING 。
再通俗一點講 , ETL 的過程就跟大家日常做菜一樣 , 需要到菜市場的各個攤位買好菜 , 把菜買回來要摘一下 , 洗一洗 , 切一切最后下鍋把菜炒好端到飯桌上 。菜市場的各個攤位就是數據源 , 做好的菜就是最終的輸出結果 , 中間的所有過程像摘菜、洗菜、切菜、做菜就是轉換 。
在開發的時候 , 大部分時候會通過 ETL 工具去實現 , 比如常用的像 KETTLE、PENTAHO、IBM DATASTAGE、INFORNAICA、微軟 SQL SERVER 里面的 SSIS 等等 , 在結合基本的 SQL 來實現整個 ETL 過程 。
也有的是自己通過程序開發 , 然后控制一些數據處理腳本跑批 , 基本上就是程序加 SQL 實現 。
哪種方式更好 , 也是需要看使用場景和開發人員對那種方式使用的更加得心應手 。我看大部分軟件程序開發人員出身的 , 碰到數據類項目會比較喜歡用程序控制跑批 , 這是程序思維的自然延續 。純 BI 開發人員大部分自然就選擇成熟的 ETL 工具來開發 , 當然也有一上來就寫程序腳本的 , 這類 BI 開發人員的師傅基本上是程序人員轉過來的 。
用程序的好處就是適配性強 , 可擴展性強 , 可以集成或拆解到到任何的程序處理過程中 , 有的時候使用程序開發效率更高 。難就難在對維護人員有一定的技術要求 , 經驗轉移和可復制性不夠 。
用 ETL 工具的好處 , 第一是整個 ETL 的開發過程可視化了 , 特別是在數據處理流程的分層設計中可以很清晰的管理 。第二是鏈接到不同數據源的時候 , 各種數據源、數據庫的鏈接協議已經內置了 , 直接配置就可以 , 不需要再去寫程序去實現 。第三是各種轉換控件基本上拖拉拽就可以使用 , 起到簡化的代替一部分 SQL 的開發 , 不需要寫代碼去實現 。第四是可以非常靈活的設計各種 ETL 調度規則 , 高度配置化 , 這個也不需要寫代碼實現 。
所以在大多數通用的項目中 , 在項目上使用 ETL 標準組件開發會比較多一些 。
ETL 從邏輯上一般可以分為兩層 , 控制流和數據流 , 這也是很多 ETL 工具設計的理念 , 不同的 ETL 工具可能叫法不同 。
控制流就是控制每一個數據流與數據流處理的先后流程 , 一個控制流可以包含多個數據流 。比如在數據倉庫開發過程中 , 第一層的處理是ODS層或者Staging 層的開發 , 第二層是DIMENSION維度層的開發 , 后面幾層就是DW 事實層、DM數據集市層的開發 。通過ETL的調度管理就可以讓這幾層串聯起來形成一個完整的數據處理流程 。
數據流就是具體的從源數據到目標數據表的數據轉換過程 , 所以也有 ETL 工具把數據流叫做轉換 。在數據流的開發設計過程中主要就是三個環節 , 目標數據表的鏈接 , 這兩個直接通過 ETL 控件配置就可以了 。中間轉換的環節 , 這個時候就可能有很多的選擇了 , 調 SQL 語句、存儲過程 , 或者還是使用 ETL 控件來實現 。
有的項目上習慣使用 ETL 控件來實現數據流中的轉換 , 也有的項目要求不使用標準的轉換組件使用存儲過程來調用 。也有的是因為數據倉庫本身這個數據庫不支持存儲過程就只能通過標準的SQL來實現 。
我們通常講的BI數據架構師其實指的就是ETL的架構設計 , 這是整個BI項目中非常核心的一層技術實現 , 數據處理、數據清洗和建模都是在ETL中去實現 。一個好的ETL架構設計可以同時支撐上百個包就是控制流 , 每一個控制流下可能又有上百個數據流的處理過程 。之前寫過一篇技術文章 , 大家可以搜索下關鍵字 BIWORK ETL 應該在網上還能找到到這篇文章 。這種框架設計不僅僅是ETL框架架構上的設計 , 還有很深的ETL項目管理和規范性控制器思想 , 包括后期的運維 , 基于BI的BI分析 , ETL的性能調優都會在這些框架中得到體現 。因為大的BI項目可能同時需要幾十人來開發ETL , 框架的頂層設計就很重要 。
數據ETL是指什么
對于做過 BI 開發的朋友 , ETL 并不陌生 , 只要涉及到數據源的數據抽取、數據的計算和處理過程的開發 , 都是 ETL , ETL 就這三個階段 , Extraction 抽取 , Transformation 轉換 , Loading 加載 。
從不同數據源抽取數據 EXTRACTION , 按照一定的數據處理規則對數據進行加工和格式轉換 TRASFORMATION , 最后處理完成的輸出到目標數據表中也有可能是文件等等 , 這個就是 LOADING 。
再通俗一點講 , ETL 的過程就跟大家日常做菜一樣 , 需要到菜市場的各個攤位買好菜 , 把菜買回來要摘一下 , 洗一洗 , 切一切最后下鍋把菜炒好端到飯桌上 。菜市場的各個攤位就是數據源 , 做好的菜就是最終的輸出結果 , 中間的所有過程像摘菜、洗菜、切菜、做菜就是轉換 。
在開發的時候 , 大部分時候會通過 ETL 工具去實現 , 比如常用的像 KETTLE、PENTAHO、IBM DATASTAGE、INFORNAICA、微軟 SQL SERVER 里面的 SSIS 等等 , 在結合基本的 SQL 來實現整個 ETL 過程 。
也有的是自己通過程序開發 , 然后控制一些數據處理腳本跑批 , 基本上就是程序加 SQL 實現 。
哪種方式更好 , 也是需要看使用場景和開發人員對那種方式使用的更加得心應手 。我看大部分軟件程序開發人員出身的 , 碰到數據類項目會比較喜歡用程序控制跑批 , 這是程序思維的自然延續 。純 BI 開發人員大部分自然就選擇成熟的 ETL 工具來開發 , 當然也有一上來就寫程序腳本的 , 這類 BI 開發人員的師傅基本上是程序人員轉過來的 。
用程序的好處就是適配性強 , 可擴展性強 , 可以集成或拆解到到任何的程序處理過程中 , 有的時候使用程序開發效率更高 。難就難在對維護人員有一定的技術要求 , 經驗轉移和可復制性不夠 。
用 ETL 工具的好處 , 第一是整個 ETL 的開發過程可視化了 , 特別是在數據處理流程的分層設計中可以很清晰的管理 。第二是鏈接到不同數據源的時候 , 各種數據源、數據庫的鏈接協議已經內置了 , 直接配置就可以 , 不需要再去寫程序去實現 。第三是各種轉換控件基本上拖拉拽就可以使用 , 起到簡化的代替一部分 SQL 的開發 , 不需要寫代碼去實現 。第四是可以非常靈活的設計各種 ETL 調度規則 , 高度配置化 , 這個也不需要寫代碼實現 。
所以在大多數通用的項目中 , 在項目上使用 ETL 標準組件開發會比較多一些 。
ETL 從邏輯上一般可以分為兩層 , 控制流和數據流 , 這也是很多 ETL 工具設計的理念 , 不同的 ETL 工具可能叫法不同 。
控制流就是控制每一個數據流與數據流處理的先后流程 , 一個控制流可以包含多個數據流 。比如在數據倉庫開發過程中 , 第一層的處理是ODS層或者Staging 層的開發 , 第二層是 DIMENSION維度層的開發 , 后面幾層就是DW 事實層、DM數據集市層的開發 。通過ETL的調度管理就可以讓這幾層串聯起來形成一個完整的數據處理流程 。
數據流就是具體的從源數據到目標數據表的數據轉換過程 , 所以也有 ETL 工具把數據流叫做轉換 。在數據流的開發設計過程中主要就是三個環節 , 目標數據表的鏈接 , 這兩個直接通過 ETL 控件配置就可以了 。中間轉換的環節 , 這個時候就可能有很多的選擇了 , 調 SQL 語句、存儲過程 , 或者還是使用 ETL 控件來實現 。
有的項目上習慣使用 ETL 控件來實現數據流中的轉換 , 也有的項目要求不使用標準的轉換組件使用存儲過程來調用 。也有的是因為數據倉庫本身這個數據庫不支持存儲過程就只能通過標準的SQL來實現 。
我們通常講的BI數據架構師其實指的就是ETL的架構設計 , 這是整個BI項目中非常核心的一層技術實現 , 數據處理、數據清洗和建模都是在ETL中去實現 。一個好的ETL架構設計可以同時支撐上百個包就是控制流 , 每一個控制流下可能又有上百個數據流的處理過程 。之前寫過一篇技術文章 , 大家可以搜索下關鍵字 BIWORK ETL 應該在網上還能找到到這篇文章 。這種框架設計不僅僅是ETL框架架構上的設計 , 還有很深的ETL項目管理和規范性控制器思想 , 包括后期的運維 , 基于BI的BI分析 , ETL的性能調優都會在這些框架中得到體現 。因為大的BI項目可能同時需要幾十人來開發ETL , 框架的頂層設計就很重要 。
大數據etl工具有哪些
ETL是數據倉庫中的非常重要的一環 , 是承前啟后的必要的一步 。ETL負責將分布的、異構數據源中的數據如關系數據、平面數據文件等抽取到臨時中間層后進行清洗、轉換、集成 , 最后加載到數據倉庫或數據集市中 , 成為聯機分析處理、數據挖掘的基礎 。
下面給大家介紹一下什么是ETL以及ETL常用的三種工具——Datastage , Informatica , Kettle 。
一、什么是ETL?
ETL , Extract-Transform-Load 的縮寫 , 用來描述將數據從來源端經過抽取(extract)、轉換(transform)、加載(load)至目的端的過程 。
數據倉庫結構
【etl是什么 數據etl處理】通俗的說法就是從數據源抽取數據出來 , 進行清洗加工轉換 , 然后加載到定義好的數據倉庫模型中去 。目的是將企業中的分散、零亂、標準不統一的數據整合到一起 , 為企業的決策提供分析依據 。
ETL是BI項目重要的一個環節 , 其設計的好壞影響生成數據的質量 , 直接關系到BI項目的成敗 。
二、為什么要用ETL工具?
在數據處理的時候 , 我們有時會遇到這些問題:
? 當數據來自不同的物理主機 , 這時候如使用SQL語句去處理的話 , 就顯得比較吃力且開銷也更大 。
? 數據來源可以是各種不同的數據庫或者文件 , 這時候需要先把他們整理成統一的格式后才可以進行數據的處理 , 這一過程用代碼實現顯然有些麻煩 。
? 在數據庫中我們當然可以使用存儲過程去處理數據 , 但是處理海量數據的時候存儲過程顯然比較吃力 , 而且會占用較多數據庫的資源 , 這可能會導致數據資源不足 , 進而影響數據庫的性能 。
而上述遇到的問題 , 我們用ETL工具就可以解決 。ETL工具具有以下幾點優勢:
1、支持多種異構數據源的連接 。(部分)
2、圖形化的界面操作十分方便 。
3、處理海量數據速度快、流程更清晰等 。
三、ETL工具介紹
1、Datastage
IBM公司的商業軟件 , 最專業的ETL工具 , 但同時價格不菲 , 適合大規模的ETL應用 。
使用難度:
- 說白開水是什么意思,白開水有什么意思
- 三史三別三別指的是什么,三史不包括什么史書
- 有所期諾纖毫必償下一句,有所期諾纖毫必償后面是什么
- 前朝夙愿來世路一念桃花是什么歌,前朝遺老
- 悲傷的句子,悲傷蛙
- 頭寸是什么意思 頭寸是什么意思
- 屈原跳的是什么江在哪里 屈原跳的什么江
- 別樹一幟是什么結構,別樹一幟造句
- lbs等于多少kg,lbs定位
- 迦南學院院長,無錫江南學院
