本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Glue 使用其他 AWS 服務來協調您的 ETL (擷取、轉換和載入) 任務,以建置資料倉儲和資料湖並產生輸出串流。 會AWS Glue呼叫 API 操作來轉換您的資料、建立執行期日誌、儲存您的任務邏輯,以及建立通知,以協助您監控任務執行。AWS Glue 主控台會將這些服務連接至受管應用程式,讓您可以專注於建立和監控 ETL 任務。主控台會代表您執行管理與任務開發的操作。您可向 AWS Glue 提供登入資料和其他屬性,以存取資料來源和寫入資料目標。
AWS Glue 會負責佈建和管理執行任務負載所需的資源。您不必為 ETL 工具建立基礎設施,AWS Glue 會為您處理。需要資源時,為了減少啟動時間,AWS Glue 會從其執行個體暖集區中使用一個執行個體來執行您的任務負載。
有了 AWS Glue,您就可以使用資料目錄中的資料表定義來建立任務。任務由指令碼組成,其中包含執行所需資料轉換任務的指示。您可使用觸發,以排程或指定事件的結果啟動任務。您可決定目標資料存放的位置,以及將何種來源資料填入目標。根據您的輸入, 會將您的資料從來源AWS Glue轉換為目標格式。或者,您也可以在AWS Glue主控台或 API 中提供自訂指令碼,以根據您的特定需求處理您的資料。
資料來源和目的地
AWS Glue for Spark 允許您從多個系統和資料庫讀取和寫入資料,包括:
-
Amazon S3
-
Amazon DynamoDB
-
Amazon Redshift
-
Amazon Relational Database Service (Amazon RDS)
-
第三方 JDBC 可存取的資料庫
-
MongoDB 和 Amazon DocumentDB (with MongoDB compatibility)
-
其他 Marketplace 連接器和 Apache Spark 外掛程式
資料串流
AWS Glue for Spark 可串流下列系統中的資料:
-
Amazon Kinesis Data Streams
-
Apache Kafka
AWS Glue 可在數個 AWS 區域使用。如需詳細資訊,請參閱 AWS 中的 Amazon Web Services 一般參考區域與端點。
主題
隔離執行的無伺服器 ETL 任務
AWS Glue 會透過您選擇的引擎、Spark 或 Ray,在無伺服器環境中執行 ETL 任務。AWS Glue 會在其服務帳戶中佈建和管理的虛擬資源上執行這些任務。
AWS Glue 旨在執行以下項目:
區域客戶資料。
保護客戶傳輸中和靜態的資料。
僅在回應客戶要求且必要時存取客戶資料,而使用的是暫時、縮減範圍的登入資料,或經客戶同意使用其帳戶中的 IAM 角色。
在佈建 ETL 任務時,您應提供 Virtual Private Cloud (VPC) 中的輸入資料來源和輸出資料目標。此外,您應提供存取資料來源和目標所需的 IAM 角色、VPC ID、子網路 ID 和安全群組。對於每個元組 (客戶帳戶 ID、IAM 角色、子網路 ID 和安全群組), AWS Glue會建立一個新的環境,該環境會在網路和管理層級隔離您AWS Glue服務帳戶中的所有其他環境。
您可以在 AWS 帳戶中建立和設定 AWS Glue 資源,例如 Data Catalogs、Jobs 和 Crawlers。然後,這些資源會與您在建立過程中指定的 IAM 角色和網路設定 (子網路和安全群組) 相關聯。
AWS Glue 會使用私有 IP 地址在您的子網路中建立彈性網路界面。任務會使用這些彈性網路介面存取您的資料來源和資料目標。任務執行環境傳入、傳出以及在環境內部往來的流量,都由您的 VPC 與聯網政策控管,只有一項例外:對 AWS Glue 程式庫的呼叫,可透過 AWS Glue VPC 將流量代理至 AWS Glue API 操作。所有的 AWS Glue API 都會加以記錄;因此,資料擁有者可啟用 AWS CloudTrail 以稽核 API 存取,並將稽核記錄傳送至您的帳戶。
AWS Glue 執行 ETL 任務的受管環境會受到保護,其安全實務與其他 AWS 服務相同。如需實務和共同安全責任的概觀,請參閱AWS 安全程序簡介白皮書。