翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Glue の概念
AWS Glue はフルマネージド型の ETL (抽出、変換、ロード) サービスであり、さまざまなデータソースとターゲット間でデータを簡単に移動できます。主なコンポーネントは次のとおりです。
-
データカタログ: ETL ワークフローのテーブル定義、ジョブ定義、その他の制御情報を含むメタデータストア。
-
クローラー: データソースへの接続、データスキーマの推測、データカタログでメタデータテーブル定義の作成を行うプログラム。
-
ETL ジョブ: ソースからデータの抽出、Apache Spark スクリプトを使用して変換、ターゲットにロードするビジネスロジック。
-
トリガー: スケジュールまたはイベントに基づいてジョブ実行を開始するメカニズム。
一般的なワークフローに含まれる内容は次のとおりです。
-
データカタログでデータソースおよびターゲットを定義します。
-
クローラーを使用して、データソースのテーブルメタデータでデータカタログに入力します。
-
変換スクリプトを使用して ETL ジョブを定義し、データを移動および処理します。
-
ジョブをオンデマンドまたはトリガーに基づいて実行します。
-
ダッシュボードを使用してジョブのパフォーマンスをモニタリングします。
次の図は、AWS Glue 環境のアーキテクチャを示します。
でジョブ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 などのテキストベースのデータは |
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 構成があります。