AWS Glue
開発者ガイド

AWS Glue コンポーネント

AWS Glue は、抽出、変換、ロード (ETL) ワークロードを設定し管理するためのコンソールと API オペレーションを備えています。いくつかの言語に固有な SDK と AWS Command Line Interface (AWS CLI) を介して API オペレーションを使用できます。AWS CLI の使用については、『AWS CLI Command Reference』を参照してください。

AWS Glue は AWS Glue データカタログ を使用して、データソース、変換、およびターゲットについてのメタデータを保存します。Data Catalog は Apache Hive メタストアのドロップインリプレースメントです。AWS Glue Jobs system は、データの ETL オペレーションの定義、スケジューリング、および実行のためのマネージド型インフラストラクチャを備えています。AWS Glue API の詳細については、「AWS Glue API」を参照してください。

AWS Glue コンソール

AWS Glue コンソールを使用して、ETL ワークフローを定義しオーケストレーションします。コンソールは AWS Glue データカタログ および AWS Glue Jobs system のいくつかの API オペレーションを呼び出して、次のタスクを実行します。

  • ジョブ、テーブル、クローラ、接続などの AWS Glue オブジェクトを定義します。

  • いつクローラが実行するかをスケジュールします。

  • ジョブトリガーのイベントやスケジュールを定義します。

  • AWS Glue オブジェクトのリストを検索しフィルタリングします。

  • 変換スクリプトを編集します。

AWS Glue データカタログ

AWS Glue データカタログ は永続的なメタデータストアです。Apache Hive メタストアで行うのと同じように AWS クラウド上でメタデータの保存、注釈付け、および共有ができるマネージド型サービスです。

各 AWS アカウントには、AWS リージョンごとに 1 つの AWS Glue データカタログ があります。これは均一なリポジトリを備えており、異種システムがデータサイロのデータを追跡するためにメタデータを見つけて保存することができます。また、そのメタデータを使用してデータのクエリや変換を行うことができます。

AWS Identity and Access Management (IAM) ポリシーを使用して、AWS Glue データカタログ で管理されるデータソースへのアクセスを制御できます。これらのポリシーを使用することで、社内の異なるグループが、機密情報は保護しつつ、より広範な組織にデータを安全に発行できます。IAM ポリシーにより、場所に関係なく、どのユーザーがどのデータへのアクセス権を持つかを明確にかつ一貫性を持って定義できます。

AWS Glue データカタログ を使用する方法については、「AWS Glue データカタログ の入力」を参照してください。Data Catalog API を使用してプログラミングする方法については、「Catalog API」を参照してください。

その他の AWS のサービスおよびオープンソースプロジェクトは AWS Glue データカタログ を使用できます。

AWS Glue クローラおよび分類子

AWS Glue では、あらゆる種類のリポジトリにあるデータのスキャン、分類、スキーマ情報の抽出、そのメタデータの AWS Glue データカタログ への自動保存ができるクローラを設定することもできます。そこから ETL オペレーションをガイドするのに使用できます。

クローラおよび分類子の設定方法については、「クローラの定義」を参照してください。AWS Glue API を使用してクローラおよび分類子をログラミングする方法については、「クローラおよび分類子 API」を参照してください。

AWS Glue ETL オペレーション

AWS Glue は、Data Catalog のメタデータを使用して、さまざまな ETL オペレーションを実行するために使用や変更ができる AWS Glue 拡張機能を備えた、Scala または PySpark (Apache Spark 用の Python API) スクリプトを自動生成できます。たとえば、未加工データを抽出、クリーンアップ、および変換してからその結果を別のリポジトリに保存して、クエリと分析を行うことができます。このようなスクリプトは、CSV ファイルをリレーショナル形式に変換し、Amazon Redshift に保存する場合があります。

AWS Glue ETL 機能の使用方法の詳細については、「ETL スクリプトのプログラミング」を参照してください。

AWS Glue ジョブシステム

AWS Glue Jobs system は、ETL ワークフローをオーケストレーションするためのマネージド型インフラストラクチャを提供します。データを抽出したり変換したり異なる場所へ転送したりするのに使用するスクリプトを自動化するジョブを AWS Glue で作成できます。ジョブはスケジュールしたり連鎖させることができます。または新しいデータの到着などのイベントによってトリガーすることができます。

AWS Glue Jobs system の使用方法の詳細については、「AWS Glue の実行とモニタリング」を参照してください。AWS Glue Jobs system API を使用したプログラミングについては、「ジョブ API」を参照してください。