AWS Glue
開発者ガイド

AWS Glue の概念

次の図は、AWS Glue 環境のアーキテクチャを示します。


      AWS Glue での Data Catalog の入力と ETL データフローの基本的な概念。

AWS Glue でジョブを指定し、データソースからデータターゲットへのデータの抽出、変換、およびロード (ETL) に必要な作業を完了します。通常は、以下のアクションを実行します。

  • クローラを指定し、AWS Glue データカタログ にメタデータテーブルの定義を入力します。データストアでクローラを指定し、クローラは Data Catalog のテーブル定義を作成します。

    テーブル定義に加えて、AWS Glue データカタログ には ETL ジョブを定義するために必要な他のメタデータが含まれています。このメタデータを使用して、データを変換するジョブを定義できます。

  • AWS Glue はデータを変換するスクリプトを生成できます。または、AWS Glue コンソールまたは API でスクリプトを提供できます。

  • ジョブをオンデマンドで実行する、または、指定したトリガーが発生すると開始するようにセットアップできます。トリガーは、時間ベースのスケジュールまたはイベントです。

    ジョブが実行されると、スクリプトはデータソースからデータを抽出し、データを変換してデータターゲットにロードします。スクリプトは AWS Glue の Apache Spark 環境で実行されます。

重要

AWS Glue のテーブルとデータベースは、AWS Glue データカタログ のオブジェクトです。それらにはメタデータが含まれ、データストアからのデータは含まれません。

正常に処理するために、CSV などのテキストベースのデータは AWS Glue では UTF-8 でエンコードする必要があります。詳細については、Wikipedia の「UTF-8」を参照してください。

AWS Glue の用語

AWS Glue は、複数のコンポーネントの相互作用に依存してデータウェアハウスのワークフローを作成および管理しています。

AWS Glue データカタログ

AWS Glue の持続的なメタデータストア。これには、AWS Glue 環境を管理するためのテーブル定義、ジョブ定義、およびその他の制御情報が含まれています。各 AWS アカウントには、リージョンごとに 1 つの AWS Glue データカタログ があります。

分類子

データのスキーマを決定します。AWS Glue は、一般的なファイルタイプの分類子を提供します (CSV、JSON、AVRO、XML など)。また、JDBC 接続を使用する一般的なリレーショナルデータベース管理システムの分類子を提供します。独自の分類子を記述するには、 grok パターンを使用する、または、XML ドキュメント内の行タグを指定します。

Connection

データストアに接続するのに必要なプロパティが含まれています。

クローラ

データストア (ソースまたはターゲット) に接続し、分類子の優先順位リストを進行してデータのスキーマを判断し、AWS Glue データカタログ にメタデータテーブルを作成するプログラムです。

データベース

AWS Glue の論理グループに分類される、一連の関連付けられた Data Catalog テーブル定義です。

データストア、データソース、データターゲット

データストア は、データを永続的に保存するリポジトリです。例として、Amazon S3 バケット、リレーショナルデータベースなどがあります。データソースは、プロセスまたはトランスフォームへの入力として使用されるデータストアです。データターゲットはプロセスまたはトランスフォームの書込み先であるデータストアです。

開発エンドポイント

エンドポイントは、AWS Glue ETL スクリプトの開発およびテストに使用できる環境です。

ジョブ

ETL 作業を実行するために必要なビジネスロジックです。変換スクリプト、データソース、およびデータターゲットで構成されます。ジョブ実行は、スケジュールされたトリガーにより、または、イベントにトリガーされることで開始されます。

ノートブックサーバー

PySpark ステートメントを実行するために使用できるウェブベースの環境。PySpark は ETL プログラミングの Python ダイアレクトです。詳細については、「Apache Zeppelin」を参照してください。開発エンドポイントにノートブックサーバーをセットアップして、PySpark ステートメントを AWS Glue 拡張機能で実行できます。

Script

ソースからデータを抽出し、変換し、ターゲットにロードするコード。AWS Glue は PySpark または Scala スクリプトを生成します。

テーブル

データを表すメタデータ定義。データが、Amazon Simple Storage Service (Amazon S3) ファイル、Amazon Relational Database Service (Amazon RDS) テーブル、または別の一連のデータのどこにあるとしても、テーブルはデータのスキーマを定義します。AWS Glue データカタログ のテーブルは、列名、データ型の定義、パーティション情報、および基本データセットに関するその他のメタデータで構成されています。データのスキーマは AWS Glue のテーブル定義で表されます。実際のデータは、ファイルまたはリレーショナルデータベーステーブルにあっても、元のデータストアに残ります。AWS Glue はファイルとリレーショナルデータベースのテーブルを AWS Glue データカタログ に格納します。それらは、ETL ジョブを作成する際にソースおよびターゲットとして使用されます。

トランスフォーム

データを操作して別の形式にするために使用するコードのロジック。

Trigger

ETL ジョブを開始します。トリガーはスケジュールされた時間またはイベントに基いて定義できます。

このページの内容: