本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Glue ETL
AWS Glue ETL 支持從各種來源提取數據,對其進行轉換以滿足您的業務需求,並將其加載到您選擇的目的地。此服務使用 Apache Spark 引擎,將大數據工作負載分配到工作者節點之間,藉由記憶體內部處理實現更快的轉換速度。
AWS Glue 支援多種資料來源,包括 Amazon Simple Storage Service (Amazon S3)、Amazon DynamoDB 和 Amazon Relational Database Service 服務 (Amazon RDS)。若要深入瞭解支援的資料來源,請參閱中 AWS Glue的 ETL 連線類型和選項。
編寫於 AWS Glue
AWS Glue 根據您的經驗和使用案例,提供多種編寫 ETL 工作的方式:
-
Python 殼層作業是專為執行以 Python 撰寫的基本 ETL 指令碼而設計的。這些工作可在單一機器上執行,更適合小型或中型資料集。
-
阿帕奇星火作業可以寫在任一 Python 或斯卡拉。這些工作使用 Spark 在許多工作者節點之間水平擴展工作負載,以便處理大型資料集和複雜的轉換。
-
AWS Glue 串流 ETL 使用 Apache Spark 結構化串流引擎,使用僅一次的語意轉換微批次工作中的串流資料。
您可以在 Python 或斯卡拉中編寫 AWS Glue 流式作業。 -
AWS Glue Studio是一個視覺 boxes-and-arrows 風格的接口,使基於火花的 ETL 訪問開發人員誰是新的 Apache Spark 編程。
資料處理單位
AWS Glue 使用資料處理單元 (DPU) 來測量分配給 ETL 任務的計算資源並計算成本。每個 DPU 等同於 4 個 vCPUs 和 16 GB 記憶體。DPU 應根據 AWS Glue 工作的複雜性和資料量分配給您的工作。配置適當數量的 DPU 可讓您在效能需求與成本限制之間取得平衡。
AWS Glue 提供數種針對各種工作負載最佳化的 Worker 類型:
-
G.1X 或 G.2X (適用於大多數資料轉換、聯結和查詢)
-
G.4X 或 G.8X (適用於要求更高的資料轉換、彙總、聯結和查詢)
-
G.025X (適用於低容量和零星資料串流)
-
標準 (適用於 1.0 或更早 AWS Glue 版本;不建議用於較新版本 AWS Glue)
使用 Python 殼
對於 Python 命令介面工作,您可以使用 1 個 DPU 來使用 16 GB 的記憶體,或使用 0.0625 個 DPU 來使用 1 GB 的記憶體。Python 外殼適用於具有小型或中型資料集的基本 ETL 工作 (最大約 10 GB)。
比較工作者類型
下表顯示使用 Apache Spark 環境的批次、串流和 AWS Glue Studio ETL AWS Glue 工作負載的不同工作者類型。
G.1X |
G.2X |
G.4 倍 |
G.8 倍 |
G.025 倍 |
標準 |
|
vCPU |
4 |
8 |
16 |
32 |
2 |
4 |
記憶體 |
16 GB |
32 GB |
64 GB |
128 GB |
4 GB |
16 GB |
磁碟空間 |
64 GB |
128 GB |
256 GB |
512 GB |
64 GB |
50 GB |
每名工人的執行人 |
1 |
1 |
1 |
1 |
1 |
2 |
DPU |
1 |
2 |
4 |
8 |
0.25 |
1 |
2.0 AWS Glue 版及更新版本不建議使用標準工作者類型。G.025X 工作者類型僅適用於使用 3.0 AWS Glue 版或更新版本的串流工作。