AWS Glue ETL - AWS 規定指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

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

2

DPU

1

2

4

8

0.25

1

2.0 AWS Glue 版及更新版本不建議使用標準工作者類型。G.025X 工作者類型僅適用於使用 3.0 AWS Glue 版或更新版本的串流工作。