第1章: はじめに
概要
本資料はAWS Glueについての調査結果を分かりやすくまとめたものです。AWS GlueはAmazonが提供するフルマネージドのサーバーレスなデータ統合サービスで、データの検出・準備・移動・統合を支援します。本章では本資料の目的と読み方、対象読者を丁寧に説明します。
本資料の目的
本資料は以下の点を明確にすることを目的としています。
– AWS Glueの基本的な役割と機能を理解すること。
– 実際の利用イメージを持てるように、特徴やコンポーネント、利用フローを順序立てて解説すること。
– 日常業務での適用例や導入の検討材料を提供すること。
対象読者
主に次の方を想定しています。
– データエンジニアや分析担当者
– データ統合やETLの導入を検討している担当者
– AWSに詳しくないがデータ処理の全体像を知りたい方
基本的なデータの概念(ファイル、テーブル、スキーマ)が分かれば読みやすくなりますが、必須ではありません。
読み方のポイント
本資料は全7章で構成します。第2章で基本定義を説明し、第3章以降で特徴やコンポーネント、具体的な利用手順、実現できることを順に解説します。実務に近い具体例を交えながら進めますので、必要に応じて関連章だけを先に読むこともできます。
小さな利用イメージ(例)
例えば、異なる部署から集まった売上データ(CSV)と顧客情報(データベース)を結合し、分析用のテーブルに整える作業を自動化したい場合、AWS Glueを使うとデータの検出から変換、保存までの流れをクラウド上でまとめて実行できます。これにより手作業や繰り返しの負担を減らせます。
次章ではAWS Glueの基本定義をわかりやすく説明します。
AWS Glueの基本定義
概要
AWS Glueは、Amazonが提供するフルマネージドのサーバーレスデータ統合サービスです。名前のとおり「つなぐ」役割を果たし、さまざまなデータソースからデータを検出・準備・移動・統合して、分析や機械学習に使いやすい状態にします。
何ができるか(具体例)
- データ検出:S3のCSVやログ、データベースのテーブルなどを自動で見つけ、メタデータ(スキーマ)を登録します。
- データ準備:重複削除や型変換、結合などの処理を自動化します。たとえば、CSVを正しい列型に直して分析用のテーブルにする作業を自動で実行します。
- データ移動:処理後のデータを別の場所へ書き出し、BIツールや機械学習の入力に使える形にします。
特徴(簡潔に)
- フルマネージドでインフラ運用が不要です。
- サーバーレスのため、利用に応じて自動でスケールします。
- メタデータをGlue Data Catalogで一元管理できます。
利用シーンの例
- データレイクの作成、ETL(抽出・変換・読み込み)、機械学習用の前処理。小さな社内データ統合から大規模なログ処理まで対応します。
AWS Glueの主な特徴
1. フルマネージドとサーバーレス
AWS Glueは運用の手間を減らします。インフラの設定やサーバー管理が不要で、ユーザーはデータ処理そのものに集中できます。たとえば、サーバーを立てずにログを集計するETL処理を実行できます。コストは実行した分だけ発生します。
2. 自動スキーマ検出とデータカタログ
Glueはデータのスキーマを自動で検出し、データカタログに登録します。これにより、データ構造の把握や検索が簡単になります。例として、S3に保存したCSVから列名や型を自動抽出し、後続処理で再利用できます。
3. 多様なデータソースとの連携
S3、RDS、Redshift、JDBC接続など多くのデータソースと簡単に接続できます。たとえば、RDSの顧客テーブルとS3のログを結合して分析する、といった処理がスムーズに行えます。
4. スケーラビリティとコスト効率
サーバーレス設計により、処理量に応じて自動でスケールします。負荷が増えたときだけリソースが割り当てられるため、無駄なコストを抑えられます。小さなジョブから大規模処理まで柔軟に対応します。
5. 開発と運用を助ける機能
GlueはETLのコード自動生成や、視覚的に作業できるGlue Studio、ジョブのスケジューリングやモニタリング機能を備えます。初心者は自動生成コードで始め、慣れてきたら細かく調整できます。
AWS Glueの主なコンポーネント
AWS Glue Data Catalog(データカタログ)
データカタログはメタデータを集める中央リポジトリです。テーブルのスキーマ(列名や型)、パーティション構造、データの保存場所などを一元管理します。たとえば、S3にあるCSVやParquetをカタログに登録すると、AthenaやRedshift Spectrumから同じ定義で参照できます。
Crawler(クローラー)
クローラーは指定したデータソースを自動でスキャンし、スキーマを検出してデータカタログへ登録または更新します。S3バケットを指定すれば列名やデータ型、パーティションを見つけてテーブル化します。手作業でスキーマを書かなくてもよくなり、データ構造の変化にも対応しやすいです。
ETLジョブ
ETLジョブはデータの抽出(Extract)、変換(Transform)、ロード(Load)を行う処理です。PythonまたはScalaで記述し、Glue上で実行します。例として、CSVを読み込んで不要列を削除し、型変換してParquet形式でS3に書き出す処理が挙げられます。増分処理用のブックマーク機能で前回の処理位置を保持できます。
トリガー
トリガーはジョブを自動実行する仕組みです。時間ベース(毎日午前3時など)のスケジュール起動や、別のジョブ完了後に連鎖して起動するイベントドリブンが使えます。これにより定期処理や依存関係のあるパイプラインを自動化できます。
AWS Glueの利用フロー
1. データソースの登録
まずS3バケットやRDS、JDBC接続先などをGlueに登録します。例:S3のCSVフォルダやRDSのテーブルを指定します。登録すると後続処理で参照できるようになります。
2. Crawlerの実行とData Catalog登録
Crawlerを実行してファイルやテーブルのスキーマを検出します。検出結果をGlueのData Catalogにテーブルとして登録します。パーティションや列の型が自動判定されるため、手作業を減らせます。
3. ETLジョブの作成
GUI(Visual Editor)でドラッグ&ドロップするか、PySpark/Scalaでコードを記述してジョブを作成します。マッピング、フィルタ、結合、集計などの変換を設定します。変換後は別のS3やデータベースへ出力します。
4. ジョブ実行と監視
ジョブを手動実行、スケジュール、またはトリガーで起動します。実行状況はGlueコンソールやCloudWatchログで確認します。失敗時はログを見て再実行やリトライを行います。
運用のポイント
・増分処理はJob Bookmarksで効率化します。
・スキーマ変更にはCrawlerの再実行や柔軟な変換を用います。
・アクセス権限はIAMで限定します。
これらを組み合わせることで、抽出・変換・ロードの一連作業を安定して運用できます。
AWS Glueで実現できること
概要
AWS Glueは多様なデータソースからデータを集め、分析向けに整える作業を自動化します。クラウド上のファイル(例:Amazon S3)やデータベース、オンプレミスのシステムまで100以上の接続先に対応します。
具体的な実例
- 複数のデータ統合:S3のログ、RDSの取引データ、社内のSQL Serverを結合し、分析用の統一テーブルを作れます。
- 自動スキーマ検出:Glueのクローラーがファイル構造を見つけ、テーブル定義を作成します。
- 定期処理の自動化:夜間バッチでデータを変換・集約し、翌朝には分析可能な形で提供します。
機械学習パイプライン支援
前処理や特徴量作成をGlueで行い、処理済みデータをSageMakerやSparkに渡して学習・推論に使えます。処理の自動化によりデータ準備時間を短縮します。
他サービスとの連携例
- AthenaやRedshift Spectrumで移動せずにクエリを実行できます。
- EMRやSageMakerと連携して大規模な変換やモデル学習を行えます。
運用面のメリット
サーバーレスでスケールし、ジョブのスケジュールや失敗時の再実行、増分処理(ジョブブックマーク)を使って安定運用が可能です。コストと工数を抑え、分析基盤の構築を早めます。
AWS Glueの構成要素
概要
AWS Glueは主に「データカタログ」「サーバーレス実行エンジン」「オーケストレーション」の3つで構成されます。以下で各要素をやさしく解説します。
データカタログ(メタデータ管理)
データの場所やスキーマ、パーティション情報などを記録します。例えばS3に置かれた複数のCSVやParquetファイルの列名や型を一元管理できます。検索や他サービス(AthenaやRedshift)との連携に便利です。
サーバーレス実行エンジン(ジョブ)
ETL処理を行う実行環境です。PythonやScalaで変換処理を書き、Glueが自動で必要な計算リソースを割り当てます。開発者はインフラ管理を気にせずにコードに集中できます。ジョブにはジョブブックマーク(前回処理位置の管理)などの機能があります。
オーケストレーション(トリガーとワークフロー)
ジョブの起動や順序を自動化します。時間やS3の変更でジョブを起動でき、複数ジョブを順番・分岐でつなげてワークフローを作成します。運用時の自動化と可視化を助けます。
補助的な構成要素
- クローラー:データを走査してスキーマを自動推定しカタログに登録します。
- 接続とセキュリティ:データストア接続設定とIAMロールでアクセス制御します。
実際の使い方イメージ
1) クローラーでスキーマ登録、2) ジョブで変換、3) トリガーで定期実行、といった流れでデータパイプラインを作ります。
運用のポイント
メタデータを整備しておくと検索やトラブル対応が早くなります。ジョブはログとリトライ設定を有効にして運用監視を行ってください。












