什麼是 ETL?

擷取、轉換和載入 (ETL) 是將來自多個來源的資料合併至大型中央儲存庫 (稱為資料倉儲) 的程序。ETL 使用一組業務規則來清理和整理原始資料,並做好準備以進行儲存資料分析機器學習 (ML)。您可以透過資料分析來滿足特定的商業智慧需求 (例如預測商業決策的結果、產生報告和儀表板、降低營運效率等)。

為什麼 ETL 很重要?

當今的組織擁有來自各種來源的結構化和非結構化資料,包括:

  • 來自線上支付和客戶關係管理 (CRM) 系統的客戶資料
  • 來自廠商系統的庫存和營運資料
  • 來自物聯網 (IoT) 裝置的感應器資料
  • 來自社交媒體和客戶意見回饋的行銷資料
  • 來自內部人力資源系統的員工資料

透過套用擷取、轉換和載入 (ETL) 程序,可以更易於分析的格式和結構準備個別原始資料集,從而產生更有意義的洞察。例如,線上零售商可以分析來自銷售點的資料,以預測需求和管理庫存。行銷團隊可以將 CRM 資料與社交媒體上的客戶意見回饋進行整合,以研究消費者行為。

ETL 如何使商業智慧受益?

擷取、轉換和載入 (ETL) 透過讓程序更加可靠、準確、詳細和高效來改進商業智慧和分析。

歷史背景

ETL 為組織的資料提供了深刻的歷史背景。企業可以將舊式資料與來自新平台和應用程式的資料相結合。您可以檢視較舊的資料集以及最新的資訊,如此,您即可長期檢視資料。

合併資料檢視

ETL 為深入分析和報告提供了合併資料檢視。管理多個資料集需要時間和協調,並可能導致效率低下和延遲。ETL 將資料庫和各種形式的資料組合到單個統一檢視中。資料整合程序可提高資料品質並節省移動、分類或標準化資料所需的時間。這樣一來,您可更輕鬆地分析、視覺化和理解大型資料集。

準確的資料分析

ETL 提供更準確的資料分析,以滿足合規與法規標準。您可以將 ETL 工具與資料品質工具整合,對資料進行剖析、稽核和清理,確保資料值得信賴。

任務自動化

ETL 自動執行可重複的資料處理任務以進行高效分析。ETL 工具可自動化資料遷移程序,而您可以將它們設定為定期甚至在執行階段時整合資料變更。因此,資料工程師可以花更多時間進行創新,並減少花費在管理繁瑣的工作上的時間,例如移動和格式化資料。

ETL 是如何演進的?

擷取、轉換和載入 (ETL) 源於關聯式資料庫的興起,該資料庫會以表格的形式儲存資料以供分析。早期的 ETL 工具嘗試將資料從交易資料格式轉換為關聯式資料格式,以供分析。

傳統 ETL

原始資料通常儲存在交易型資料庫中,而該資料庫可支援許多讀取和寫入請求但不能很好地用於分析。您可以將其視為試算表中的一行。例如,在電子商務系統中,交易型資料庫將購買的商品、客戶詳細資訊和訂單詳細資訊儲存在一筆交易中。在這一年中,它包含了一個長長的交易清單,其中還有同一客戶在這一年中所購多件商品的重複條目。由於資料重複,分析當年最受歡迎的商品或購買趨勢已一項繁瑣的工作。

為了解決這個問題,ETL 工具會自動將此交易資料轉換為具有互連資料表的關聯式資料。除了模式和趨勢之外,分析師還可以使用查詢來識別各資料表之間的關係。

現代 ETL

隨著 ETL 技術的發展,資料類型和資料來源皆呈指數級增長。雲端技術的出現有助於建立龐大的資料庫 (亦稱為資料匯點)。此類資料匯點可以從多個來源接收資料,並具有可以隨時間擴展的基礎硬體資源。ETL 工具也變得更加複雜,且可以與現代資料匯點搭配使用。他們可以將資料從舊式資料格式轉換為現代資料格式。現代資料庫的範例如下。

資料倉儲

資料倉儲是可以儲存多個資料庫的中央儲存庫。在每個資料庫中,您可以將資料整理至資料表中,也可整理至資料表中描述資料類型的欄中。資料倉儲軟體適用於多種類型的儲存硬體,例如固態硬碟 (SSD)、硬碟和其他雲端儲存,以最佳化您的資料處理。

資料湖

藉助資料湖,您可在一個集中式儲存庫中以任何規模存放您的結構化和非結構化資料。您可以按原樣儲存資料,而不必首先根據您將來可能遇到的問題對其進行結構化。資料湖還可讓您使用各種不同類型的資料分析,例如 SQL 查詢、大數據分析、全文搜尋、即時分析和機器學習 (ML),以引導做出更佳的業務決策。

ETL 如何運作?

擷取、轉換和載入 (ETL) 的工作原理是定期將資料從來源系統移動到目的地系統。ETL 程序分為三個步驟:

  1. 從來源資料庫中擷取相關資料
  2. 轉換資料,使其更適合用於分析
  3. 將資料載入到目標資料庫

什麼是資料擷取?

在資料擷取中,擷取、轉換和載入 (ETL) 工具將從多個來源擷取或複製原始資料並將其儲存在臨時區域中。臨時區域 (或登陸區域) 是用於暫時存放擷取的資料的中間儲存區域。資料臨時區通常是暫時性的,也就是說它們的內容在完成資料擷取之後會被刪除。但是,臨時區域也可能會保留資料存檔以進行疑難排解。

系統將資料從資料來源傳送到目標資料存放區的頻率取決於基礎變更資料擷取機制。通常情況下,會透過以下三種方式之一執行資料擷取。

更新通知

在更新通知中,來源系統會在資料記錄變更時通知您。然後,您可以針對該變更執行擷取程序。大多數資料庫和 Web 應用程式皆提供更新機制,以支援此資料整合方法。

增量擷取

某些資料來源無法提供更新通知,但可以識別和擷取已在指定時間段內修改的資料。在這種情況下,系統會定期檢查變更,例如每週一次、每月一次或活動結束時。您只需擷取已變更的資料即可。

完整擷取

某些系統無法識別資料變更或發出通知,因此重新載入所有資料是唯一方案。這種擷取方法要求您保留上次擷取的副本,以檢查哪些記錄是新的。由於此方法涉及大量資料傳輸,因此我們建議您僅在小型資料表中使用。

什麼是資料轉換?

在資料轉換中,擷取、轉換和載入 (ETL) 工具將轉換和合併臨時區域中的原始資料,以為目標資料倉儲做好準備。資料轉換階段可能涉及以下類型的資料變更。

基本資料轉換

基本轉換透過消除錯誤、清空資料欄位或簡化資料來提高資料品質。這些轉換的範例如下。

資料清除

資料清除可消除錯誤並將來源資料映射到目標資料格式。例如,您可以將空白資料欄位映射到數字 0,將資料值“Parent”映射到“P”,或將“Child”映射到“C”。

重複資料刪除

資料清除中的重複資料刪除可識別並刪除重複記錄。

資料格式修訂

格式修訂可將字元集、測量單位和日期/時間值等資料轉換為一致的格式。例如,一家食品公司可能有不同的配方資料庫,且其成分以公斤和磅為單位。ETL 會將一切轉換為磅。

進階資料轉換

進階轉換使用業務規則來最佳化資料,以便於分析。這些轉換的範例如下。

衍生

衍生將業務規則套用於您的資料中,以根據現有值計算新值。例如,您可以將營收轉換為利潤,方法是減去開支或將每件商品的價格乘以訂購的商品數量來計算採購總成本。

聯結

在資料準備中,聯結會將來自不同資料來源的相同資料進行連結。例如,您可以尋找一件商品的採購總成本,方法是將不同廠商的採購價值相加並僅在目標系統中儲存總計。

分割

您可以在目標系統中將欄或資料屬性劃分為多個欄。例如,如果資料來源將客戶名稱儲存為“Jane John Doe”,您可以將其拆分為名字、中間名和姓氏。

匯總

匯總可將大量資料值減少到較小的資料集,進而提高資料品質。例如,客戶訂單發票值可包含許多不同的小金額。您可以透過將指定時間段內的資料相加來匯總資,以建置客戶生命週期價值 (CLV) 指標。

加密

透過在資料串流到目標資料庫之前新增加密,您即可保護敏感資料,以遵守資料法或資料隱私法。

什麼是資料載入?

在資料載入中,擷取、轉換和載入 (ETL) 工具將轉換後的資料從臨時區域移動到目標資料倉儲。對於大多數使用 ETL 的組織來說,該程序是自動化的、定義明確的、持續的和批次驅動的。下面是兩種載入資料的方法。

完整載入

在完全載入時,即會轉換來自來源的全部資料,並將其移動到資料倉儲。完全載入通常發生在您第一次將資料從來源系統載入到資料倉儲中時。

增量載入 

在增量載入中,ETL 工具會定期載入目標系統和源系統之間的增量 (或差量)。它會儲存最後的擷取日期,以便僅載入在此日期之後新增的記錄。有兩種方法可以實作增量載入。

串流增量載入

如果您的資料磁碟區較小,您可以透過資料管道將持續變更串流至目標資料倉儲。當資料速度增加到每秒數百萬個事件時,您可以使用事件串流處理來監控和處理資料串流,從而做出更及時的決策。

批次增量載入

如果您的資料磁碟區較大,則您可以定期批次收集載入資料變更。在此設定的時間段內,由於資料同步,來源系統或目標系統都不會發生任何動作。

什麼是 ELT?

擷取、載入和轉換 (ELT) 是擷取、轉換和載入 (ETL) 的延伸,它反轉了操作順序。您可以在處理資料之前將其直接載入到目標系統中。不需要中間臨時區域,因為目標資料倉儲具有資料映射功能。隨著雲端基礎設施的採用,ELT 開始日漸受到青睞,其可為目標資料庫提供轉換所需的處理能力。

ETL 與 ELT 比較

ELT 適用於需要頻繁載入的大容量、非結構化資料集。它也是大數據的理想選擇,因為可以在資料擷取和儲存之後進行分析規劃。它將大量轉換留給分析階段,並專注於將經過最少處理的原始資料載入到資料倉儲中。

ETL 程序在開始時需要更多的定義。分析需要從一開始就考慮定義目標資料類型、結構和關係。資料科學家主要使用 ETL 將舊式資料庫載入到倉儲中,而如今 ELT 已成為常態。

什麼是資料虛擬化?

資料虛擬化使用軟體抽象層來建立整合式資料檢視,而無需實體擷取、轉換或載入資料。組織將此功能用作虛擬統一資料儲存庫,無需為來源和目標建置和管理獨立平台的開支和複雜性。雖然您可以將資料虛擬化與擷取、轉換和載入 (ETL) 搭配使用,但它也日漸被視為 ETL 與其他實體資料整合方法的替代方案。例如,您可以使用 AWS Glue Elastic Views 從多種不同的來源資料存放區快速建立虛擬資料表 (具體化檢視)。

什麼是 AWS Glue?

AWS Glue 是一種無伺服器、可擴展的資料整合服務,讓分析使用者能更輕鬆地探索、準備、移動和整合來自多個來源的資料,以進行分析、機器學習和應用程式開發。

  • 您可以探索並連接 80 個以上不同的資料存放區。
  • 您可以在集中的資料型錄中管理您的資料。
  • 資料工程師、ETL 開發人員、資料分析師和企業使用者可使用 AWS Glue Studio 來建立、執行和監控 ETL 管道,以將資料載入資料湖中。
  • AWS Glue Studio 提供 Visual ETL、筆記本和程式碼編輯器介面,因此使用者能擁有適合自身綜合技能的工具。
  • 透過互動式工作階段,資料工程師可使用自己喜歡的 IDE 或筆記本來探索資料,並編寫和測試任務。
  • AWS Glue 無伺服器且可隨需自動擴展,因此您能專注於從拍位元組 (PB) 規模的資料中取得洞察,而不需要管理基礎設施。

建立 AWS 帳戶,開始使用 AWS Glue。

AWS ETL 後續步驟

查看額外的產品相關資源
進一步了解 AWS Glue 
註冊免費帳戶

立即存取 AWS 免費方案。 

註冊 
開始在主控台進行建置

開始在 AWS 管理主控台使用 AWS 進行建置。

登入