AWS Glue

サーバーレスでスケーラブルな ETL サービスで、データカタログによるメタデータ管理と Apache Spark ベースのジョブ実行基盤を統合的に提供する。

概要

AWS Glue は、データの抽出 / 変換 / ロード (ETL) をサーバーレスで実行するフルマネージドサービスです。Glue Data Catalog がデータレイクやデータウェアハウスのメタデータを一元管理し、Athena、Redshift Spectrum、EMR などのクエリエンジンから共通のスキーマ定義として参照されます。Crawler がデータソースを自動スキャンしてスキーマを推論 / 登録するため、手動でのテーブル定義が不要になります。ジョブ実行基盤は Apache Spark と Python Shell の 2 種類を備え、大規模な分散処理から軽量なスクリプト実行まで幅広いワークロードに対応します。

Data Catalog と Crawler が変えるメタデータ管理

Glue の中核は Data Catalog です。S3 上の Parquet ファイル、RDS のテーブル、Redshift のスキーマなど、散在するデータソースのメタデータを一箇所に集約し、Hive Metastore 互換のインターフェースで公開します。Athena でクエリを書くとき、FROM 句に指定するテーブル定義は実質的に Data Catalog のエントリです。Crawler はデータソースを定期的にスキャンし、カラム名 / データ型 / パーティション構造を自動推論して Catalog に登録します。ただし推論精度は万能ではなく、CSV の先頭行がヘッダーかデータかを誤判定するケースや、数値と文字列が混在するカラムで型が揺れるケースがあります。Crawler の初回実行後に推論結果を確認し、必要に応じて手動で型を見直す方法があります。Classifier をカスタム定義すれば、独自フォーマットのファイルにも対応できます。Azure の対応サービスである Azure Data Factory は、Microsoft のドキュメントではクラウドの ETL とデータ統合のサービスと説明されています。

Spark ジョブと Python Shell - DPU 設計の勘所

Glue ジョブには、Apache Spark ベースの ETL ジョブ (ストリーミング ETL ジョブを含む) や、単一ノードで動く Python Shell ジョブがあります。Spark ジョブは大規模なデータの分散処理に向いており、DPU (Data Processing Unit) の割り当て数でクラスター規模を制御します。開発者ガイドは 1 DPU を 4 vCPU と 16 GB のメモリからなる処理能力の単位と説明しています (2026 年 10 月時点)。DPU を増やせば処理は速くなりますが、課金は DPU 数 × 実行時間なので、過剰な割り当ては無駄なコストに直結します。最初は少ない DPU で実行し、CloudWatch メトリクスのメモリ使用率とシャッフルの量を見ながら段階的に増やす方法もあります。一方、Python Shell ジョブは 1 DPU または 0.0625 DPU で動作し、API 呼び出しや軽量なファイル変換など Spark のオーバーヘッドが不要な処理に向いています。

Job Bookmark とデータパイプラインの冪等性

ETL パイプラインの問題の一つに、「同じデータを二重に処理してしまう」重複処理があります。Glue の Job Bookmark はこの課題に対処する仕組みで、前回のジョブ実行がどこまでデータを処理したかを記録し、次回実行時に未処理分だけを対象にします。開発者ガイドによると、S3 ソースではオブジェクトの最終更新時刻を確認し、JDBC ソースでは既定で主キー (連続して増加または減少するもの) をブックマークのキーに使うことで差分処理を実現します。ただし Job Bookmark が有効に機能するのは、データが追記 (append) される場合に限られます。既存ファイルの上書き更新やパーティション単位の洗い替えが発生するケースでは、Bookmark だけでは整合性を担保できません。そのような場合は、処理済みファイルを別の S3 プレフィックスに移動する方式や、DynamoDB に処理済みキーを記録して冪等性を自前で管理する方式を組み合わせます。Glue Workflow を使えば複数のクローラーとジョブを依存関係付きで連結でき、Step Functions と組み合わせることでエラーハンドリングや条件分岐を含む複雑なデータパイプラインを構築できます。

参考資料 (AWS 公式)

本ページの一次情報は AWS 公式サイトと公式ドキュメントです。最新の仕様と料金は次の公式ページで確認できます。

本ページと公式ドキュメントの記述が食い違う場合は、公式ドキュメントを正としてください。

共有する