本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Glue 是一種全受管 ETL (擷取、轉換、載入) 服務,可讓您輕鬆地在不同資料來源和目標之間移動資料。關鍵元件包括:
-
Data Catalog:中繼資料存放區,其中包含資料表定義、任務定義,以及 ETL 工作流程的其他控制資訊。
-
爬蟲程式:連線至資料來源、推斷資料結構描述,以及在 Data Catalog 中建立中繼資料資料表定義的程式。
-
ETL 任務:從來源擷取資料、使用 Apache Spark 指令碼進行轉換,並將其載入目標的商業邏輯。
-
觸發條件:根據排程或事件啟動任務執行的機制。
典型的工作流程包括:
-
在 Data Catalog 中定義資料來源和目標。
-
使用爬蟲程式將資料來源的資料表中繼資料填入 Data Catalog。
-
使用轉換指令碼定義 ETL 任務,以移動和處理資料。
-
隨需或根據觸發條件執行任務。
-
使用儀表板監控任務效能。
下圖顯示 AWS Glue 環境的架構。

您可以在 中定義任務 AWS Glue ,以完成從資料來源擷取、轉換和載入 (ETL) 資料至資料目標所需的工作。您通常會執行以下動作:
-
針對資料存放區來源,定義一個爬蟲程式,將中繼資料資料表定義填入 AWS Glue Data Catalog 。您將爬蟲程式指向資料存放區,爬蟲程式在 Data Catalog 中建立資料表定義。針對串流來源,手動定義 Data Catalog 資料表並指定資料串流屬性。
除了資料表定義之外, 還 AWS Glue Data Catalog 包含定義 ETL 任務所需的其他中繼資料。當您要定義一個任務以轉換資料時,您使用此中繼資料。
AWS Glue 可以產生指令碼來轉換您的資料。或者,您可以在 AWS Glue 主控台或 API 中提供指令碼。
-
您可以隨需執行任務,也可以設定在發生指定的觸發時開始執行任務。觸發可以是以時間為基礎的排程或事件。
當您的任務執行時,指令碼會從資料來源擷取資料、轉換資料,然後將資料載入到您的資料目標。指令碼在 AWS Glue中的 Apache Spark 環境執行。
重要
中的資料表和資料庫 AWS Glue 是 中的物件 AWS Glue Data Catalog。它們包含中繼資料,不包含來自資料存放區的資料。
文字型資料,例如 CSVs,必須在 中編碼, |
AWS Glue 術語
AWS Glue 依賴多個元件的互動來建立和管理擷取、轉換和載入 (ETL) 工作流程。
AWS Glue Data Catalog
持久性中繼資料存放區 AWS Glue。它包含資料表定義、任務定義和其他控制資訊來管理您的 AWS Glue 環境。每個 AWS 帳戶 AWS Glue Data Catalog 每個區域都有一個 。
分類器
決定您 data 的結構描述。 AWS Glue 提供常見檔案類型的分類器,例如 CSV、JSON、AVRO、XML 等。它還提供常見的使用 JDBC 連線的關聯式資料庫管理系統的分類器。您可以撰寫自己的分類器,方法是使用 grok 模式或在 XML 文件中指定資料列標籤。
連線
包含連接到資料存放區所需屬性的 Data Catalog 物件。
爬蟲程式
連接到資料存放區 (來源或目標) 的程式,它會執行已排定優先順序的分類器清單,判斷您資料的結構描述,然後在 AWS Glue Data Catalog建立中繼資料資料表。
資料庫
一組相關 Data Catalog 資料表定義會整理在邏輯群組中。
資料存放區、資料來源、資料目標
資料存放區是一種適用於永久存放資料的儲存庫。範例包括 Amazon S3 儲存貯體和關聯式資料庫。資料來源是做為程序或轉換輸入的資料存放區。資料目標是寫入程序或轉換的目標資料存放區。
開發端點
可用來開發和測試 AWS Glue ETL 指令碼的環境。
動態框架
支援巢狀資料 (例如結構和陣列) 的分散式資料表。每個記錄都是自我描述,專為具有半結構化資料的結構描述彈性而設計。每筆記錄都包含資料和描述該資料的結構描述。您可以在 ETL 指令碼中使用動態框架和 Apache Spark DataFrames,並在它們之間進行轉換。動態框架為資料清除和 ETL 提供了一組進階轉換。
任務
執行 ETL 任務時所需的商業邏輯。它由轉換指令碼、資料來源和資料目標所組成。任務的執行由可透過排程或事件觸發的觸發器起始。
任務效能儀表板
AWS Glue 為您的 ETL 任務提供全面的執行儀表板。儀表板會顯示特定時間範圍內之任務執行的相關資訊。
筆記本介面
更優異的筆記本體驗,只要按一下即可輕鬆撰寫任務和探索資料。自動設定筆記本和連線。您可以使用以 Jupyter 筆記本為基礎的筆記本界面,使用無 AWS Glue 伺服器 Apache Spark ETL 基礎設施以互動方式開發、偵錯和部署指令碼和工作流程。您也可以在筆記本環境中執行臨機操作查詢、資料分析和視覺化 (例如,資料表和圖形)。
指令碼
從來源擷取資料、轉換資料的程式碼,並將其載入 target. AWS Glue generates PySpark 或 Scala 指令碼。
資料表
呈現您資料的中繼資料定義。無論您的資料位於 Amazon Simple Storage Service (Amazon S3) 檔案、Amazon Relational Database Service (Amazon RDS) 資料表或其他資料集,皆由資料表定義資料的結構描述。中的資料表 AWS Glue Data Catalog 包含資料欄名稱、資料類型定義、分割區資訊,以及基本資料集的其他中繼資料。資料表 AWS Glue 定義中會顯示資料的結構描述。實際資料會保留在其原始資料存放區中,無論是在 檔案還是關聯式資料庫資料表中。 AWS Glue 會在 中記錄您的檔案和關聯式資料庫資料表 AWS Glue Data Catalog。當您建立 ETL 時,它們會做為來源和目標。
轉換
用於將資料處理為不同格式的程式碼邏輯。
觸發條件
啟動 ETL 任務。觸發可根據排程時間或事件加以定義。
視覺化任務編輯器
視覺化任務編輯器是一個新的圖形介面,有助於在 AWS Glue更加輕鬆地内建立、執行、監控擷取、轉換和載入 (ETL) 任務。您可以視覺化編寫資料轉換工作流程,在 AWS Glue Apache Spark 型無伺服器 ETL 引擎上無縫執行,並在任務的每個步驟中檢查結構描述和資料結果。
工作程序
使用 時 AWS Glue,您只需支付 ETL 任務執行所需的時間。您無需管理資源,不用預付款項,也不必為啟動或關機時間付費。我們會根據您執行 ETL 任務所使用的 資料處理單位 (或 DPU) 數量,以小時費率計費。單一資料處理單元 (DPU) 也稱為 worker. AWS Glue comes,具有三種工作者類型,可協助您選取符合您任務延遲和成本需求的組態。工作者提供標準、G.1X、G.2X 和 G.025X 組態。