TOP技術記事AWS Glueとは

AWS Glueとは

AWS Glue2024/8/25
見出し画像

はじめに

副業でAWS Glueについて触れる機会があったので、Glueとはどんなものかまとめていきます。

Glueとは

AWS Glue(Amazon Web Services Glue)は、Amazonが提供するフルマネージドのETL(Extract, Transform, Load)サービスです。ETLプロセスを簡単に自動化するために設計されており、データの抽出、変換、ロードを効率的に行うことができます。
Glueを日本語にすると、「のり」(食べる海苔じゃないよ)という意味になり、データのさまざまなソースをつなぎ合わせる役割を果たすサービスの特性を表しています。

特徴

フルマネージド:

インフラストラクチャの管理が不要で、セットアップやメンテナンスの手間が省けます。

サーバーレス:

インフラストラクチャをプロビジョニングすることなく、ETLジョブを実行できます。これにより、スケーラビリティとコスト効率が向上します。

自動スキーマ検出:

AWS Glueはデータソースのスキーマを自動的に検出し、データカタログを生成します。このカタログを使用して、データのクエリや変換が容易になります。

多様なデータソースとの統合:

S3、RDS、Redshift、JDBC接続など、さまざまなデータソースからデータを取得・変換・ロードすることができます。

開発者フレンドリー:

Apache Sparkを基盤としたETLエンジンを使用しており、PythonやScalaでジョブを記述できます。これにより、柔軟かつ強力なデータ処理が可能です。

主なコンポーネント

AWS Glue Data Catalog:

データのメタデータを管理する中央リポジトリ。データの検索、クエリ、およびアクセス管理に使用されます。

Crawler:

データソースをスキャンし、自動的にスキーマを検出してData Catalogに登録します。

ETLジョブ:

データの抽出、変換、ロードを行うプロセス。PythonまたはScalaで記述され、AWS Glue上で実行されます。

トリガー:

スケジュールやイベントに基づいてETLジョブを自動実行するための仕組み。
使い方

データソースの登録:

最初に、データソースをAWS Glueに登録します。これには、データが格納されているS3バケットやデータベースが含まれます。

Crawlerの実行:

Crawlerを設定して実行し、データソースのスキーマを自動的に検出してData Catalogに登録します。

ETLジョブの作成:

AWS Glue Studioを使用して、GUIベースでETLジョブを作成するか、PythonまたはScalaのコードを記述してETLジョブを定義します。

ジョブの実行:

ジョブを実行し、データの抽出、変換、ロードを行います。ジョブのステータスやログはAWS Glueコンソールで確認できます。

まとめ

AWS Glueは、データの統合と変換を簡単かつ効率的に行うためのツールです。フルマネージドでサーバーレスな特性を持ち、自動スキーマ検出や多様なデータソースとの統合など、多くの機能が備わっています。
これにより、インフラストラクチャの管理に煩わされることなく、データの処理と分析に集中することができます。