0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS Glueについて学ぼう!その1

0
Last updated at Posted at 2026-06-06

この記事では、AWS Glueの基本を私なりの理解で整理していきたいと思います。
以下のような人のフォローになれば幸いです。

  • AWS Glueを全く知らない
  • ETLサービスの全体像を知りたい
  • Data CatalogやCrawlerの役割が気になる

:point_up:この記事で学べること

  • AWS Glueの役割と特徴
  • 主要コンポーネントの説明
  • 実際の利用フロー
  • Glueを使うべき場面

:point_up:AWS Glueとは?

AWS Glueは、AWSが提供するフルマネージドなデータ統合サービスです。

簡単に言うと、

  • データを集めて
  • 整えて
  • 分析や機械学習で使える形にする

ための仕組みを、AWSが代わりに動かしてくれます。

もう少し具体的に

Glueは主に以下を自動化します。

  • データの読み込み
  • データの変換
  • データの保存
  • データの整理と登録(どこに何があるかを記録する)

Glueでは、サーバーを自分で用意したりOSやソフトウェアの管理をしたりする必要がありません。
AWSが必要なときにだけ処理を起動し、処理が終わったら自動で終了するので、常にサーバーを立てっぱなしにする必要はありません。

:point_up:Glueのイメージ

  • データの“収集屋”:S3やRDS、Redshiftなどからデータを読み込む
  • データの“整形屋”:データ形式を変えたり、不要な列を削除したりする
  • データの“まとめ屋”:データの構造や型をカタログ化して管理する

:point_up:Glueの主な用途

  • ETL(Extract, Transform, Load)処理
  • データカタログ管理
  • データレイク構築の支援
  • 定期実行バッチの運用

AWS Glueは、特に「データを集めてから分析に渡す」までの前処理に強いサービスです。

:point_up:主要用語とコンポーネント

ETL

  • Extract:データを取り出す
  • Transform:データを加工・変換する
  • Load:変換したデータを書き込む

GlueはこのETL処理をサーバーレスで実行します。その背後では、Apache Sparkというデータ処理エンジンが動いています。

Apache Sparkとは:
大量のデータを高速に処理するための技術です。

Sparkの学習が必要かどうか:

  • Glue Studioでビジュアルにジョブ作成 → まずは深い仕組みを知らなくても使える
  • PythonやScalaでスクリプトを書く → DynamicFrameやSparkの基礎を理解する必要がある

つまり、使い方次第です。Glue Studioなら最初は入りやすいものの、運用やトラブル対応のためには後でSparkやGlueの概念を学ぶのが望ましいです。

Data Catalog(データカタログ)

Glueの中心になるのがData Catalogです。

Data Catalogは何か:

  • データそのものを保存する場所ではなく、メタデータ(データについての情報)を保存する仕組み
  • 「この場所にあるデータは、この形式で、こんな列を持っている」という情報を記録する
  • 実際のデータはS3やRDS、Redshift、JDBC接続先などに別に存在し、Data Catalogはそれを記録・整理して管理するだけ
  • Data Catalog自体はS3の中ではなく、AWS Glueのサービス側に作られる

例え:引っ越しの段ボール箱

段ボール5号の外に書かれたラベル:
  ├─ 中身:食器
  ├─ 個数:30個
  ├─ 保管場所:倉庫1階左奥

実際の中身:
  ├─ 皿、カップ、スプーン...(本体)
  • ラベル = Data Catalog(「何があるか」の情報)
  • 段ボール箱の中身 = 実データ(S3に保存されたファイル)

Data Catalogを見れば、「このデータはどこにあって、何が入ってるの?」がすぐわかるということです。

  • AthenaRedshift SpectrumData Catalog を見て、保存先のデータをどのように扱うか判断します。
  • Redshift SpectrumRedshift の中の機能で、S3上のデータをこのカタログ情報を使ってクエリします。

Crawler(クローラー)

Crawlerは、データ構造を自動で調べる機能です。

  • S3やRDSなどのデータソースをスキャン
  • フォルダ構造やファイル形式を解析
  • データのスキーマ(列名・型・パーティション)を推測
  • Data Catalogにテーブル定義を作成・更新する

このため、S3をスキャンするのは「データがどのような形をしているか」をGlueに教え、Data Catalogに登録するためです。ここではS3を例にしていますが、Glue CrawlerはRDS/JDBCなど他のデータソースも対象になります。

初心者はまずCrawlerを使って、Data Catalogにテーブルを登録する流れを体験すると理解しやすいです。

Job(ジョブ)

Glueの処理単位です。

  • PythonまたはScalaでETL処理を定義
  • Glue StudioのGUIからも作成可能
  • バッチ処理として実行される

Trigger(トリガー)

Jobの実行タイミングを管理します。

  • スケジュール実行(cron風)
  • 他のJob完了後に実行
  • 手動実行も可能

DynamicFrame

Glue固有のデータ構造です。

  • SparkのDataFrameに似ている
  • DataFrameよりもスキーマの柔軟性が高い(列の型や構造が揺らいでいるデータを扱いやすい)
  • 型が不揃いなデータでも扱いやすい

どういうことか:

  • たとえば同じ列に文字列と数値が混ざっていたり
  • ファイルごとに列の並びや型が少し違っていたりしても
  • DynamicFrameはスキーマを自動的に推測・変換しやすい

対比:DataFrameの場合

  • 列の型や構造が厳密に決まっていることを前提に処理する
  • その前提が崩れるとエラーになりやすい

Development Endpoint(開発エンドポイント)

Glueの開発用環境です。

  • ノートブックやIDEで接続可能
  • スクリプトを実行しながら開発できる
  • ただし最近はGlue Studio Notebookの利用が増えています

Glue Studio

GUIでETLパイプラインを作成できる画面です。

  • ビジュアルでジョブ設計
  • コードを書かずにパイプライン構築
  • 初心者の学習に便利

AWS Glue DataBrew

ノーコードでデータのクリーニングや変換を行うツールです。

  • データを視覚的に操作
  • データ分析前の準備に最適
  • サンプルを見ながら作業できる

:point_up:実際の利用フロー

  1. データをS3などに置く
  2. GlueのData Catalogにテーブルを登録する
    • Crawlerで自動登録するのが簡単
  3. Glue Jobを作成してETLを定義する
  4. Triggerで定期実行やJob連携を設定する
  5. AthenaやQuickSightで整形済みデータを分析する

例:ログデータを分析可能にする流れ

  1. S3にログファイルを配置
  2. Crawlerでスキーマを検出しData Catalogに登録
  3. Glue Jobで不要列の削除・型変換を実行
  4. 出力結果を別のS3に書き込む
  5. AthenaからSQLで検索する

:point_up:Glueが得意な状況

  • S3にたまったログデータを整形したい
  • 複数のデータソースをまとめたい
  • スキーマが変わりやすいデータを扱う必要がある
  • 定期的にバッチ処理を実行したい

Glueは「データの前処理を自動化して、分析に渡す」役割に適しています。

:point_up:Glueと関連するAWSサービス

  • Amazon S3:データ保存の代表的な場所
  • AWS Athena:Glue Data CatalogのテーブルをSQLで検索
  • Amazon Redshift Spectrum:S3のデータをRedshiftからクエリ
  • AWS Lambda:Glueジョブ起動や後処理に利用
  • AWS IAM:Glueのアクセス権限を管理

:point_up:まとめ

AWS Glueは、データを分析しやすい形に整えるためのサービスです。初心者がまず押さえるべきは、

  • Data Catalog
  • Crawler
  • Job

の3つです。

これらを理解すると、Glueを使ったデータ連携の全体像がつかみやすくなります。

次のステップ:

  • Glue StudioのGUIで簡単なJobを作成してみる
  • Data Catalogを実際に確認してみる
  • 簡単なCSVファイルでCrawlerを試す

:writing_hand:参考記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?