AWS Glue のワークフローの概要 - AWS Glue

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

AWS Glue のワークフローの概要

-AWS Glueブループリント機能は、AWS Glueこのページは変更される可能性があります。

AWS Glue では、複数のクローラ、ジョブ、およびトリガーを伴う複雑な ETL (抽出、変換、ロード) アクティビティを作成して可視化できます。各ワークフローは、そのすべてのジョブとクローラの実行とモニタリングを管理します。ワークフローは、各コンポーネントを実行するたびに、実行の進捗状況とステータスを記録します。ここでは、タスク全体の概要と各ステップの詳細を提供します。AWS Glue コンソールは、ワークフローの状態をグラフで表示します。

ワークフローは、で作成できます。AWS Glueブループリントを使用したり、ワークフローを一度に手動で作成したりできます。AWS Management Consoleまたは AWS Glue API 。設計図の詳細については、「のブループリントの概要AWS接着語」を参照してください。

トリガーワークフローは、ジョブとクローラの両方を開始でき、ジョブまたはクローラの完了時に起動されます。トリガーを使用すると、相互に依存するジョブやクローラの大規模なチェーンを作成できます。ジョブとクローラの依存関係を定義するワークフロー内のトリガーに加えて、各ワークフローにはトリガーを開始。開始トリガーには、次の 3 つの種類があります。

  • Schedule— ワークフローは、定義したスケジュールに従って開始されます。スケジュールは、日次、週次、月次などに設定することも、cron

  • オンデマンド— ワークフローはAWS Glueコンソール、API、またはAWS CLI。

  • EventBridge イベント— ワークフローは、単一の Amazon EventBridge イベントまたは Amazon EventBridge イベントのバッチが発生したときに開始されます。このトリガータイプでは、AWS Glueは、イベント駆動型アーキテクチャのイベントコンシューマになることができます。すべての EventBridge イベントタイプでワークフローを開始できます。一般的なユースケースは、Amazon S3 バケット(S3PutObjectオペレーション).

    イベントのバッチを使用してワークフローを開始すると、指定した数のイベントを受信するまで、または指定した時間が経過するまで待機します。EventBridge イベントトリガーを作成するときに、オプションでバッチ条件を指定できます。バッチ条件を指定する場合は、バッチサイズ(イベント数)を指定する必要があります。また、オプションでバッチウィンドウ(秒数)を指定できます。デフォルトのバッチウィンドウは 900 秒 (15 分) です。最初に満たされたバッチ条件によって、ワークフローが開始されます。バッチウィンドウは、最初のイベントが到着したときに開始されます。トリガーの作成時にバッチ条件を指定しない場合、バッチサイズはデフォルトで 1 になります。

    ワークフローが開始されると、バッチ条件がリセットされ、イベントトリガーは、次のバッチ条件が満たされるかどうかを監視し、ワークフローを再開します。

    次の表は、バッチサイズとバッチウィンドウが連携してワークフローをトリガーする方法を示しています。

    バッチサイズ Batch ウィンドウ トリガ条件の結果として
    10 ワークフローは、10 個の EventBridge イベントが到着したとき、または最初のイベントの到着から 15 分後に、いずれか最初に発生した場合にトリガーされます。Windows サイズを指定しない場合、デフォルトは 15 分です。)
    10 2分 ワークフローは、10 個の EventBridge イベントが到着したとき、または最初のイベントの到着から 2 分後のいずれか早い方でトリガーされます。
    1 ワークフローは、最初のイベントの到着時にトリガーされます。ウィンドウサイズは無関係です。EventBridge イベントトリガーの作成時にバッチ条件を指定しない場合、バッチサイズはデフォルトで 1 になります。

    -GetWorkflowRunAPI オペレーションは、ワークフローをトリガーしたバッチ条件を返します。

ワークフローの開始方法に関係なく、ワークフローの作成時にワークフローの同時実行の最大数を指定できます。

イベントまたはイベントのバッチが、ワークフローの実行を開始して最終的に失敗した場合、そのイベントまたはイベントのバッチは、ワークフローの実行の開始には考慮されなくなります。新しいワークフローの実行は、次のイベントまたはイベントのバッチが到着したときにのみ開始されます。

イベント条件が満たされていても、ワークフローに設定された同時実行制限を超えると、ワークフローの実行は開始されません。期待されるイベント量に基づいて、ワークフローの同時実行性の制限を調整することをお勧めします。AWS Glueは、同時実行性の制限を超えたために失敗したワークフローの実行を再試行しません。同様に、期待されるイベント量に基づいて、ワークフロー内のジョブとクローラの同時実行制限を調整することをお勧めします。

ワークフロー実行プロパティ

ワークフローの実行全体の状態を共有して管理するには、ワークフローのデフォルトの実行プロパティを定義できます。これらのプロパティ (名前と値のペア) は、ワークフローのすべてのジョブで使用できます。 AWS Glue API を使用すると、ジョブはワークフローの実行プロパティを取得し、これらのプロパティを変更してワークフローの以降のジョブで使用できます。

Workflow グラフ

次の図は、非常に基本的なワークフローのグラフを示しています。AWS Glueconsole. ワークフローには、いくつものコンポーネントが含まれている場合があります。


            コンソールに表示されるワークフローの [グラフ] タブのスクリーンショット。このグラフには、スケジュールトリガー、2 つのジョブ、イベント成功トリガー、スキーマを更新するクローラを示す 5 つのアイコンがふまれています。

このワークフローを開始するのはスケジュールトリガーMonth-close1という2つのジョブを開始するDe-duplicateおよびFix phone numbers。両方のジョブが正常に完了すると、イベントトリガーFix/De-dupe succeeded、クローラを開始し、Update schema

ワークフローの静的ビューと動的ビュー

各ワークフローには、静的ビュー動的ビューの表記があります。静的ビューは、ワークフローの設計を示します。動的ビューは、各ジョブや各クローラの最新の実行情報を含むランタイムビューです。実行情報には、成功ステータスとエラーの詳細が含まれます。

ワークフローの実行中は、その動的ビューがコンソールに表示されます。また、完了済みのジョブと未実行のジョブがグラフで示されます。実行中のワークフローの動的ビューは、 AWS Glue API を使用して取得することもできます。詳細については、「」を参照してください AWS Glue API を使用したワークフローのクエリ