AWS Glue

シンプルかつ柔軟で、費用対効果の高い ETL

AWS Glue は抽出、変換、ロード (ETL) を行う完全マネージド型のサービスで、お客様の分析用データの準備とロードを簡単にします。AWS マネジメントコンソールで数回クリックするだけで、ETL ジョブを作成および実行できます。AWS Glue では、AWS に保存されたデータを指定するだけで AWS Glue によるデータ検索が行われ、テーブル定義やスキーマなどの関連するメタデータが AWS Glue データカタログに保存されます。カタログに保存されたデータは、すぐに検索、クエリ、ETL で使用できます。AWS Glue では、データ変換とデータのロードプロセスを実行するコードが生成されます。

AWS Glue で生成されるコードは、カスタマイズ性、再利用性、可搬性を備えています。ETL ジョブの作成が完了したら、AWS Glue のフルマネージド型 Apache Spark スケールアウト環境でジョブの実行をスケジュールできます。AWS Glue では、依存性の解決、ジョブのモニタリング、アラートを行う柔軟なスケジューラを提供します。

AWS Glue はサーバーレスであるため、インフラストラクチャの購入、設定、管理は不要です。ジョブの実行に必要な環境が自動的にプロビジョニングされます。また、お客様が支払うのは、ETL ジョブの実行中に使用したコンピューティングリソースの費用のみです。分析用のデータは数分で準備できます。

AWS Glue の紹介 (日本語字幕) (1:47)

利点

簡単

AWS Glue では、手間のかかる ETL ジョブの構築、管理、実行のほとんどが自動化されます。AWS Glue はデータソースを自動的にクロールし、データフォーマットを識別してスキーマと変換を提案します。AWS Glue では、データ変換とロードプロセスを実行するコードが自動的に生成されます。

統合

AWS Glue は幅広い AWS サービスにわたって統合されていますので、オンボーディングで大幅に手間を省きます。AWS Glue では、Amazon Aurora とその他すべての Amazon RDS エンジン、Amazon Redshift と Amazon S3 に保存されたデータがネイティブにサポートされます。また、Amazon EC2 で実行されている Virtual Private Cloud (Amazon VPC) 内の MySQL、Oracle、Microsoft SQL サーバーや、PostgreSQL データベースもネイティブにサポートされます。AWS Glue は、初期状態で Amazon Athena、Amazon EMR、Amazon Redshift Spectrum、および任意の Apache Hive Metastore 互換アプリケーションと統合されています。

サーバーレス

AWS Glue はサーバーレスです。お客様がインフラストラクチャをプロビジョニングおよび管理する必要はありません。AWS Glue 側で、ETL ジョブの実行に必要なリソースのプロビジョニング、設定、スケーリングが処理され、フルマネージド型の Apache Spark スケールアウト環境で実行できるようになります。お客様が支払うのは、ジョブの実行中に使用したリソースの料金のみです。

開発者にとって使いやすい

AWS Glue では、開発者に馴染みのある Scala、Python、Apache Spark を使用して、カスタマイズ性、再利用性、可搬性を備えた ETL コードを生成できます。Glue ETL に読み取り、書き込み、変換のカスタム機能をインポートすることもできます。AWS Glue が生成するコードはオープンフレームワークに基づくため、囲い込みの心配はありません。どこでも使用できます。

仕組み

データのソースとターゲットを選択します。AWS Glue では Scala または Python で ETL コードを生成します。このコードを使用して、ソースからのデータ抽出、ターゲットのスキーマに合わせたデータ変換、ターゲットへのロードを行います。生成されたコードは、コンソール、任意の IDE、テキストエディタで編集、デバッグ、テストできます。

ステップ 1: データカタログを構築する
screenshot-glue-step1-data-catalog2b

まず、AWS マネジメントコンソールを使用して、データソースを登録します。AWS Glue によってデータソースがクロールされ、JSON、CSV、Parquet といった多くの一般的なソースフォーマットやデータタイプに対して事前に構築された分類子を使用してデータカタログが構築されます。

ステップ 2: データ変換を生成および編集する
screenshot-glue-step2-etl-generation4

次に、データのソースとターゲットを選択します。AWS Glue では Scala または Python で ETL コードを生成します。このコードを使用して、ソースからのデータ抽出、ターゲットのスキーマに合わせたデータ変換、ターゲットへのロードを行います。生成されたコードは、コンソール、任意の IDE、テキストエディタで編集、デバッグ、テストできます。

ステップ 3: ジョブをスケジュールして実行する
screenshot-glue-step3-orchestration2

AWS Glue では、定期的な ETL ジョブのスケジューリング、複数のジョブの連結、AWS Lambda といった他のサービスからのオンデマンドによるジョブ呼び出しを簡単に実行できます。AWS Glue では、ジョブ間の依存関係が管理され、基盤となるリソースが自動的にスケールされ、失敗したジョブが自動的に再試行されます。

詳細については、AWS Glue の特徴ページにアクセスするか、AWS の製品ドキュメントをご覧ください。

ユースケース

Amazon S3 のデータレイクに対するクエリ

データレイクは、構造化データおよび非構造化データの保存と分析を行う手段として人気が高まっています。Amazon S3 のデータレイクを使用している場合、AWS Glue によって、すべてのデータを瞬時に分析用に準備できます。データを移動する必要はありません。

product-page-diagram_Glue_Queries-Against-an-Amazo-S3-Data-Lake

データウェアハウスのログデータの分析

AWS Glue を使用すると、データセットをクリーニング、正規化、エンリッチして、分析のためにクリックストリームの準備やログデータの処理を実行できます。AWS Glue では、半構造化データに対するスキーマの生成、データを変換、平坦化、エンリッチするための ETL コードの作成、データウェアハウスからの定期的なロードを実行できます。

product-page-diagram_Glue_Analyze-Log-Data-in-Data-Warehouse

複数のデータストアにわたるデータの統合ビュー

AWS Glue データカタログを使用すると、AWS の複数のデータセットに配置されたデータを、移動せずに簡単に検出および検索できます。カタログ化されたデータは、すぐに Amazon Athena、Amazon EMR、Amazon Redshift Spectrum を使用した検索やクエリで利用できるようになります。

product-page-diagram_Glue_Unified-View-of-Data-Across-Multiple-Data-Stores

イベント駆動型の ETL パイプライン

AWS Glue では、新しいデータセットの取得といったイベントに基づいて ETL ジョブを実行できます。例えば、AWS Lambda 関数を使用して、新しいデータが Amazon S3 で利用可能になるとすぐに ETL ジョブがトリガーされるように設定できます。また、ETL ジョブの処理の一環として、このような新しいデータセットを AWS Glue データカタログに登録することもできます。

product-page-diagram_Glue_Event-driven-ETL-Pipelines

AWS の使用を開始する

icon1

AWS アカウントにサインアップする

AWS 無料利用枠にすぐにアクセスできます。
icon2

10 分間チュートリアルで学ぶ

簡単なチュートリアルで学習します。
icon3

AWS で構築を開始する

ステップバイステップガイドに従って構築を開始すれば、 AWS プロジェクトを立ち上げることができます。
構築の準備はできましたか?
AWS Glue の使用を開始する
ご不明な点がおありですか?
お問い合わせ