AWS Glue のブループリント概要
注記
ブループリント機能は、現在、AWS Glue コンソールの次のリージョンではご利用いただけません。アジアパシフィック (ジャカルタ)、中東 (UAE)。
AWS Glue ブループリントにより、AWS Glue ワークフローを作成ならびに共有する手段が提供されます。複雑な ETL プロセスで、使用できるユースケースが類似している場合には、ユースケースごとに AWS Glue ワークフローを作成する代わりにブループリントを 1 つ作成します。
設計図では、ワークフローに含めるジョブとクローラを指定し、ワークフローを作成するために設計図が実行される際にワークフローのユーザーから提供すべきパラメータも指定します。パラメータを使用することで、単一のブループリントにより、類似したさまざまなユースケースのワークフローを生成できるようになります。ワークフローの詳細については、「AWS Glue のワークフローの概要」を参照してください。
設計図に関するユースケースの例を次に示します。
-
既存のデータセットを分割する場合。Amazon Simple Storage Service (Amazon S3) のソースならびにターゲットへのパス、およびパーティション列のリストが、設計図への入力パラメータとなります。
-
Amazon DynamoDB テーブルのスナップショットを、Amazon Redshift のような SQL データストア内に作成する場合。ブループリントへの入力パラメータは、DynamoDB テーブル名と AWS Glue の接続となります。このパラメータにより、Amazon Redshift クラスターと送信先のデータベースを指定します。
-
複数の Amazon S3 パスの CSV データを Parquet に変換する場合。AWS Glue ワークフローに、パスごとの個別のクローラとジョブを含める必要があります。AWS Glue Data Catalog 内の送信先データベースと、Amazon S3 パスのコンマ区切りのリストが入力パラメーターとなります。この場合、ワークフローが作成するクローラおよびジョブの数は可変であることに注意してください。
設計図のコンポーネント
設計図は、以下のコンポーネントを含む ZIP アーカイブです。
-
Python レイアウトジェネレータスクリプト
ワークフローのレイアウト (ワークフロー用に作成するジョブとクローラ、ジョブとクローラのプロパティ、およびジョブとクローラの依存関係) を指定する関数が含まれています。この関数はブループリントのパラメータを受け取り、AWS Glue がワークフロー生成のために使用するワークフロー構造 (JSON オブジェクト) を返します。ワークフローの生成には Python スクリプトを使用するので、ユースケースに適した独自のロジックを追加できます。
-
設定ファイル
ワークフローのレイアウトを生成する Python 関数の完全な修飾名を指定します。スクリプトで使用されるすべての設計図パラメータの名前、データタイプ、およびその他のプロパティも指定します。
-
(オプション) ETL スクリプトとサポートファイル
高度なユースケースとして、ジョブで使用する ETL スクリプトの場所をパラメータ化できます。ZIP アーカイブにジョブスクリプトファイルを含め、スクリプトのコピー先となる Amazon S3 ロケーションを設計図パラメータとして指定できます。レイアウトジェネレータスクリプトは、指定された場所に ETL スクリプトをコピーし、そのコピー先をジョブスクリプトの場所プロパティとして指定します。スクリプトで処理するための、ライブラリやその他のサポートファイルを含めることもできます。
設計図の実行
ブループリントからワークフローを作成すると、AWS Glue でブループリントが実行され、ワークフローがカプセル化するジョブ、クローラー、およびトリガーを作成する非同期プロセスが開始します。AWS Glue でブループリントの実行を使用して、ワークフローとそのコンポーネントの作成をオーケストレートします。設計図の実行ステータスを表示すると、作成プロセスのステータスを知ることができます。設計図の実行では、設計図パラメータに指定した値の保存も行われます。
ブループリントの実行は、AWS Glue コンソールまたは AWS Command Line Interface (AWS CLI) を使用して表示できます。ワークフローを表示またはトラブルシューティングする場合には、いつでも設計図の実行に戻り、ワークフローの作成に使用された設計図のパラメータ値を確認できます。
設計図のライフサイクル
ブループリントは、AWS Glue により開発、テスト、登録が行われ、これを実行することでワークフローが作成されます。設計図のライフサイクルには、通常 3 つのペルソナが関与します。
ペルソナ | タスク |
---|---|
AWS Glue デベロッパー |
|
AWS Glue 管理者 |
|
データアナリスト |
|