AWS Glue の概念 - AWS Glue

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Glue の概念

AWS Glue はフルマネージド型の ETL (抽出、変換、ロード) サービスであり、さまざまなデータソースとターゲット間でデータを簡単に移動できます。主なコンポーネントは次のとおりです。

  • データカタログ: ETL ワークフローのテーブル定義、ジョブ定義、その他の制御情報を含むメタデータストア。

  • クローラー: データソースへの接続、データスキーマの推測、データカタログでメタデータテーブル定義の作成を行うプログラム。

  • ETL ジョブ: ソースからデータの抽出、Apache Spark スクリプトを使用して変換、ターゲットにロードするビジネスロジック。

  • トリガー: スケジュールまたはイベントに基づいてジョブ実行を開始するメカニズム。

一般的なワークフローに含まれる内容は次のとおりです。

  1. データカタログでデータソースおよびターゲットを定義します。

  2. クローラーを使用して、データソースのテーブルメタデータでデータカタログに入力します。

  3. 変換スクリプトを使用して ETL ジョブを定義し、データを移動および処理します。

  4. ジョブをオンデマンドまたはトリガーに基づいて実行します。

  5. ダッシュボードを使用してジョブのパフォーマンスをモニタリングします。

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

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

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

  • データストアソースの場合は、クローラを指定し、AWS Glue Data Catalog にメタデータテーブルの定義を入力します。データストアでクローラを指定し、クローラは Data Catalog のテーブル定義を作成します。ストリーミングソースの場合は、Data Catalog テーブルを手動で定義し、データストリームのプロパティを指定します。

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

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

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

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

重要

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

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

AWS Glue の用語

AWS Glue は、複数のコンポーネントの相互作用に依存して、抽出、変換、ロード (ETL) ワークフローを作成および管理します。

AWS Glue Data Catalog

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

分類子

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

Connection

特定のデータストアに接続するために必要なプロパティを含む Data Catalog オブジェクトです。

Crawler

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

データベース

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

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

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

開発エンドポイント

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

動的フレーム

構造や配列などのネストされたデータをサポートする分散テーブルです。各レコードは自己記述型であり、半構造化データのスキーマの柔軟性を持つよう設計されています。各レコードには、データとそのデータを記述するスキーマの両方が含まれます。動的フレームと Apache Spark DataFrames の両方を ETL スクリプトで使用し、それらの間で変換できます。動的フレームは、データクリーニングと ETL 用の一連の高度な変換を提供します。

ジョブ

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

ジョブパフォーマンスダッシュボード

AWS Glue は、ETL ジョブ用の包括的な実行ダッシュボードを提供します。ダッシュボードには、特定の時間枠からのジョブ実行に関する情報が表示されます。

ノートブックインターフェイス。

ジョブ作成とデータ探索を容易にするワンクリック設定により、ノートブック体験を強化します。ノートブックと接続は自動的に構成されます。Jupyter Notebook をベースとしたノートブックインターフェースにより、AWS Glue のサーバーレス Apache Spark ETL インフラストラクチャを使用するスクリプトやワークフローを、対話的に開発、デバッグし、デプロイすることができます。また、ノートブック環境では、アドホッククエリ、データ分析、ビジュアライゼーション (表やグラフなど) を実行できます。

スクリプト

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

テーブル

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

変換

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

Trigger トリガー)

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

ビジュアルジョブエディタ

ビジュアルジョブエディターは、AWS Glue での抽出、変換、ロード (ETL) ジョブの作成、実行、およびモニタリングが簡単に行えるグラフィカルなインターフェイスです。データ変換ワークフローを視覚的に構成し、AWS Glue の Apache Spark ベースのサーバーレス ETL エンジンでそれらをシームレスに実行して、ジョブの各ステップでスキーマとデータの結果を検査できます。

ワーカー

AWS Glue では、ETL ジョブの実行にかかる時間に対してのみお支払いが発生します。管理するリソースはなく、前払い料金もありません。また、起動時間やシャットダウン時間に対しての課金もありません。ETL ジョブの実行に使用されたデータ処理ユニット (DPUs) の数に基づいて時間あたりの料金が請求されます。単一のデータ処理ユニット(DPU)は、ワーカーとも呼びます。AWS Glue には、ジョブのレイテンシーとコスト要件を満たす構成を選択するのに役立つような 3 つのワーカータイプが用意されています。ワーカーには、Standard、G.1X、G.2X、および G.025X 構成があります。