Etl

如何使用 ETL?

  • August 17, 2011

我知道這些字母表示提取、轉換和載入。

但是,當我一開始使用它時,我認為在轉換階段我可以對從數據源中提取的數據進行大量不同的連接,後來我意識到在不同的 ETL 上進行連接並不是那麼方便.

  • 那麼我們在Transform階段做什麼呢?
  • 計算並輸出結果 ?
  • 字元串轉換?
  • 輸入數據源應該只是 csv、xml 還是純文件?
  • 如果連接不是那麼方便,我們是否應該只在 ETL 中進行高級轉換?

謝謝

提取轉換和載入是準備要插入數據庫或數據倉庫的外部數據

查看 ETL 的基礎知識,數據倉庫設計師 Bill Inmon指出

曾幾何時,在不遠的過去,沒有 ETL(提取、轉換和載入)軟體。如果您想建構一個數據倉庫,您必須編寫程式碼以便將數據從一個源獲取到適當的目標。有很多程式碼——很多重複的程式碼。

編寫程式碼後,您必須對其進行維護。每次遺留系統發生變化時,您都會對程式碼進行手動維護。每次目標定義更改時,您都必須對程式碼進行手動維護。每次最終使用者想要新的東西時,您都必須對程式碼進行維護。

正如 Inmon 在他的 ETL 產品簡史中所描述的那樣,從這裡開始,大量的 ETL 產品激增。它們很受歡迎,因為它們是軟體工具,旨在從不斷變化的系統中提取數據,根據特定規則對其進行轉換,並將其載入到數據倉庫中。這個軟體過程意味著人類只參與了循環的關鍵元素:解開載入的數據錯誤。通過最大限度地自動化,ETL 流程為公司提供了一種無縫方式,不僅可以將目前數據庫載入到數據倉庫中,還可以將相同數據庫的未來數據集載入到其中,以便數據倉庫可以持續提供未來的結果。

為了具體回答您的問題,不同的數據庫提供了不同的摘錄。應用轉換來規範化數據。規範化既是在特定於數據庫的意義上,改變數據的模式以匹配接收數據倉庫,也是在人類意義上,確保不同系統的相同數據在傳入系統看來是相同的。

數據源可以是任何您可以編寫轉換程式碼的東西,因為轉換的目的是將規則應用於傳入數據,以使其適合您的數據模型。只有在必要時才應加入*不同的數據集。*而是依靠您的收件人數據庫來同步結果。

引用自:https://dba.stackexchange.com/questions/135