ワークフローは、明示的な依存関係で定義されたシーケンスに従ってタスクをオーケストレーションします。ワークフローを作成し、スケジューリングプロパティを設定することで、指定した時間にタスクを自動的に実行できます。
前提条件
-
ワークスペースを作成しておく必要があります。詳細については、「ワークスペースの管理」をご参照ください。
-
必要なタスクを開発し、公開済みである必要があります。
ワークフローの作成
-
Workflows ページに移動します。
-
E-MapReduce コンソールにログインします。
-
左側メニューで、EMR Serverless > Spark を選択します。
-
Spark ページで、対象のワークスペースの名前をクリックします。
-
[EMR Serverless Spark] ページで、左側メニューにある [タスクオーケストレーション] をクリックします。
-
-
[タスクオーケストレーション] ページで、[Create Workflow] をクリックします。
-
[Create Workflow] パネルで、次のパラメーターを設定し、[次へ] をクリックします。
パラメーター
説明
[Name]
ワークフロー名は、現在のワークスペース内で一意である必要があります。
[Resource Queue]
ワークフローが実行されるデフォルトのリソースキューを選択します。
説明ノードのリソースキュー設定は、このデフォルトキューを上書きします。
[Other Settings]
[Scheduling Type]
本番環境でワークフローを実行するためのスケジューリングタイプです。
-
Manual (デフォルト):ワークフローは手動でトリガーされた場合にのみ実行されます。
-
Scheduler:ワークフローは定義されたスケジュール (分、時間、日単位) に従って自動的に実行されます。
[Scheduling Type] を [Scheduler] に設定する場合は、[Scheduler] と [Scheduling Started At] パラメーターも設定する必要があります。
[Scheduler]
ワークフローが自動的に実行される頻度です。[Scheduling Type] を [Scheduler] に設定した場合にのみ必須です。
次のスケジューリングサイクルが利用可能です:
-
毎日:毎日指定された時刻に 1 回実行されます。
-
毎時:毎日指定された時間範囲内で、
N 時間ごとなどの定義された間隔で実行されます。 -
毎分:毎日指定された時間範囲内で、
N 分ごとなどの定義された間隔で実行されます。
[Scheduling Started At]
スケジュールされたワークフローが開始される日時です。デフォルトは現在時刻です。[Scheduler] タイプの場合にのみ必須です。
重要[Scheduler] タイプのワークフローの場合、スケジュールを有効にするには [タスクオーケストレーション] ページの [Scheduling Status] トグルをオンにする必要があります。
[Retries After Failure]
ノードが失敗した後に再試行する回数です。デフォルト:再試行なし。
説明個々のノードの設定でこのパラメーターを上書きできます。
[Failure Notification]
失敗通知を受信するメールアドレスです。
[タグ]
ワークフローに付けるタグのキーと値のペアです。
-
-
ワークフローノードを編集します。
-
[Edit Workflow] ページの下部にある [Add Node] をクリックします。
-
[Add Node] パネルで、ノードパラメーターを設定します。
パラメーター
説明
[Path]
このノードが実行するタスクへのパスです。タスクは公開されている必要があります。
[Node Type]
ワークフローノードのタイプです。デフォルトでは、システムは指定されたパスのタスクからタイプを推測します。
[Node Name]
ノードのカスタム名です。タスクソースから自動的に入力されます。
[Upstream Nodes]
ワークフロー内の先行ノードです。
最初のノードに上流ノードは不要です。
[Failure Retries]
ワークフローから再試行設定を継承します。デフォルト:再試行なし。
[Timeout(seconds)]
単一ノード実行のタイムアウトです。デフォルト:制限なし。
[Subscriptions]
特定のノード状態に関する通知を受け取るメールアドレスを指定します。
[タグ]
ノードに付けるタグのキーと値のペアです。各ノードには、
workflow_nameとtask_nameという 2 つの組み込みタグが自動的に含まれます。[Resource Queue]
このノードのリソースキューです。この設定は、ワークフローのデフォルトのリソースキューを上書きします。
重要ノード固有のリソースキュー設定は、後でデフォルトが変更された場合でも、ワークフローのデフォルトよりも優先されます。
説明タスクソースが SQL 開発の場合、タスクパラメーターも設定する必要があります。これらのパラメーターは、デフォルトでタスクテンプレートから値を継承します。タスクテンプレートを変更して、デフォルト値を変更できます。パラメーターの詳細については、「構成管理」をご参照ください。
-
[Save] をクリックします。
最初のノードを設定した後、ページの下部にある [Add Node] をクリックして、さらにノードを追加できます。
-
-
ワークフローを公開します。
-
右上隅にある [Publish Workflow] をクリックします。
-
[Publish] ダイアログボックスで、リリースの説明を入力し、[OK ] をクリックします。
-
ワークフローの実行
各ワークフローの実行は、ワークフロー詳細ページの [Workflow Runs] タブにレコードとして記録されます。
デバッグ
編集中にワークフローの最新バージョンをデバッグできます。
-
[Edit Workflow] ページで、[Debugging] をクリックします。

-
[Debugging] ダイアログボックスで、開発環境のリソースキューを選択し、[実行] をクリックします。
スケジュール実行
ワークフロー作成時に [Scheduling Type] を [Scheduler] に設定した場合、作成後に [Scheduling Status] トグルをオンにできます。これにより、ワークフローは指定された時刻にトリガーされます。

手動実行
[タスクオーケストレーション] ページで、対象のワークフローの名前をクリックします。右上隅にある [実行] をクリックし、ワークフローの実行方法を選択します。
-
[Manually Run] (デフォルト):スケジュールに関係なく、ワークフローを即座に実行します。
-
[Backfill]:過去の期間に対してワークフローを再実行し、失敗した実行や未実行のデータを修正します。次のパラメーターを設定します:
パラメーター
説明
[Cycle]
選択した期間に対して、システムがワークフロー実行を生成します。
-
現在の時刻が選択した期間の開始時刻を過ぎると、システムは自動的にバックフィル実行を生成して実行します。
-
ワークフローのスケジュール実行時刻が選択した期間内に該当する場合にのみ、バックフィルワークフロー実行が生成、実行されます。
-
ワークフローに時間変数 (例:
${ds}) が含まれている場合、システムは自動的にそれらを選択した期間の時刻に置き換えます。
[並列度]
システムが同時にスケジュールするバックフィルワークフロー実行数です。デフォルト値:1。システムは業務期間の昇順で実行をスケジュールし、以前の実行が完了すると後続の実行を開始します。値が 1 の場合、バックフィルは直列に実行されます。値が 1 より大きい場合、バックフィルは業務期間の昇順で並列に実行されます。
説明実行は業務期間の昇順でスケジュールされますが、完了順序は各ワークフローの実行時間によって左右されるため、スケジューリング順序と一致するとは限りません。
[Resource Queue]
ワークフローのデフォルトのリソースキューを使用します。本番環境で利用可能な別のキューを選択することもできます。
[Remarks]
将来の管理とトラブルシューティングに役立つ、バックフィル実行の説明です。
[More]
-
[Failure Notification]:バックフィルワークフロー実行が失敗したときにアラートを受信するメールアドレスを指定します。
-
[Node resource queue priority]:デフォルトでは無効になっています。有効にすると、ワークフロー内の各ノードは、そのノードに設定された Driver と Executor のリソースキューで実行され、キューが設定されていないノードは上記で指定されたリソースキューを使用します。無効にすると、すべてのノードは上記で指定されたリソースキューを使用します。ワークフローが CPU と GPU のキューを混在して使用する場合は、このオプションを有効にすることを推奨します。
-
実行ステータスの表示
対象のワークフローの [Workflow Runs Status] および [Workflow Job Runs Status] 列で、すべてのワークフロー実行とノード実行のステータスを確認できます。
-
ワークフロー実行ステータス
ステータス
説明
青色
実行中
緑色
成功
赤色
失敗
紫色
保留中
-
ワークフローノード実行ステータス
ステータス
説明
青色
実行中
緑色
成功
赤色
失敗
黄色
再試行中
紫色
保留中
関連トピック
-
ワークフローの主要な概念に関する詳細については、「基本概念」をご参照ください。
-
ワークフロー実行とノード実行の表示については、ワークフロー実行とノード実行の管理をご参照ください。