すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:ワークフローの管理

最終更新日:Mar 27, 2026

特定の順序で複数の Spark ジョブを実行する必要がある場合 (例えば、データインジェストジョブの後に変換ジョブ、そしてレポートジョブを実行する場合) は、ワークフローを使用して依存関係チェーンを定義し、実行を自動化します。このトピックでは、EMR Serverless Spark でワークフローを作成、実行、およびモニターする方法について説明します。

基本概念:

  • ワークフロー: 依存関係によってリンクされ、スケジュールまたはオンデマンドで実行されるジョブのパイプラインです。

  • ノード: ワークフロー内の単一のジョブです。ノードは、実行順序を定義するためにアップストリーム/ダウンストリームの関係によって接続されます。

  • [ワークフロー実行]: ワークフローの単一実行です。各実行は記録され、[ワークフロー実行] タブで表示できます。

前提条件

開始する前に、以下を準備してください。

  • ワークスペース。詳細については、「ワークスペースの管理」をご参照ください。

  • 開発および公開されたジョブ。

ワークフローの作成

  1. [ワークフロー] ページに移動します。

    1. E-MapReduce (EMR) コンソールにログインします。

    2. 左側のナビゲーションウィンドウで、[EMR Serverless] > [Spark] を選択します。

    3. [Spark] ページで、使用するワークスペースの名前をクリックします。

    4. [EMR Serverless Spark] ページの左側のナビゲーションウィンドウで、[オペレーションセンター] > [ワークフロー] を選択します。

  2. ワークフロー」タブで、「ワークフローの作成」をクリックします。

  3. [ワークフローの作成] パネルで、パラメーターを設定し、[次へ] をクリックします。[スケジューリングタイプ] が [スケジューラー] の場合、次を設定します。

    • スケジュール時間: 実行頻度です。は、1 日 1 回、固定時刻に実行されます。時間は、日単位のウィンドウ内で N 時間ごとに実行されます。は、日単位のウィンドウ内で N 分ごとに実行されます。

    • スケジュール開始日時: スケジュールされた実行が開始される日時です。デフォルトは現在の時刻です。

    重要

    ワークフローが作成された後、[スケジュール状態] スイッチを [ワークフロー] タブでオンにします。これを行わないと、ワークフローはスケジュール時刻に実行されません。

    パラメーター説明
    名前ワークフロー名。ワークスペース内で一意である必要があります。
    リソースキューワークフローのデフォルトのリソースキューです。ノードレベルのリソースキューは、この設定をオーバーライドします。
    その他の設定 > スケジューリングタイプワークフローが本番環境で実行される方法。有効な値: なし(手動)(手動でトリガーされ、デフォルト)および スケジューラー(分単位、時間単位、または日単位の自動実行)。以下の「スケジューリングの種類の表」を参照してください。
    失敗後のリトライ失敗したノードをリトライする回数です。デフォルト: リトライなし。ノードレベルのリトライ設定は、この値をオーバーライドします。
    失敗通知ワークフローが失敗した場合に通知するメールアドレスです。
    タグワークフローを識別するためのキーと値のペアです。
    スケジューリングタイプ動作追加の必須パラメーター
    [なし (手動)] (デフォルト)手動で実行をトリガーします。
    スケジューラー分単位、時間単位、または日単位で自動的に実行します。スケジューリング時間スケジューリング開始時刻
  4. ワークフローにノードを追加します。ノードはパイプライン内のジョブを表します。アップストリーム/ダウンストリームの関係を通じて接続し、実行順序を定義します。

    1. キャンバス上で、キャンバスの下部にある [ノードの追加] をクリックします。

    2. [ノードの追加] パネルで、パラメーターを設定します。

      パラメーター

      説明

      ソースファイルパス

      このノードで実行するジョブのパスです。ジョブは公開済みである必要があります。

      ノードタイプ

      指定されたパスのジョブから自動的に推測されます。

      ノード名

      ソースファイルパス から自動入力されます。必要に応じてカスタマイズしてください。

      上流ノード

      このノードを実行する前に完了する必要があるノードです。現在のワークフロー内のノードを指定する必要があります。最初のノードの場合は空白のままにしてください。

      リトライ回数

      ワークフローレベルのリトライ回数がデフォルト値として使用されます。デフォルトではリトライは行われません。

      タイムアウト (秒)

      シングルノードの実行時間の上限です。デフォルトでは制限なしです。

      サブスクリプション

      ノードが指定された状態に到達した際に通知を送信するメールアドレスです。

      タグ

      ノードのタグです。各ノードには、デフォルトで workflow_name タグおよび task_name タグが含まれます。

      リソースキュー

      このノードのリソースキューです。ワークフローレベルのリソースキューがデフォルト値として使用されます。ノードレベルで設定すると、その後ワークフローレベルのリソースキューを変更しても、この設定は維持されます。

      説明

      SQL ジョブの場合、[タスク構成] セクションで追加のパラメーターを構成します。デフォルト値はジョブレベルの構成と一致します。詳細については、「デフォルト設定の管理」をご参照ください。

    3. [保存] をクリックします。繰り返して、さらにノードを追加します。

  5. ワークフローを公開します。

    1. 右上隅で、[Publish Workflow] をクリックします。

    2. [公開]」ダイアログボックスで備考を入力し、[OK] をクリックします。

ワークフローの実行

各ワークフロー実行では、実行レコードが生成されます。実行履歴は、ワークフローの詳細ページの [ワークフロー実行] タブで表示できます。

ワークフローのデバッグ

本番環境で実行する前に、ワークフローの最新バージョンをデバッグします。

  1. [操作] 列で、ワークフローの [編集] をクリックします。表示されるページで、ワークフロー名の横にある [デバッグ] をクリックします。

    image

  2. デバッグ」ダイアログボックスで、開発環境リソースキューを選択し、[実行] をクリックします。

スケジュール実行

[スケジュールタイプ]」が「[スケジューラ]」に設定され、かつ「[スケジュールステータス]」スイッチがオンになると、ワークフローは設定された時間に自動的に実行されます。

image.png

手動実行

  1. [ワークフロー] タブで、ワークフロー名をクリックします。

  2. 右上隅で、[実行] をクリックします。

  3. [実行] ダイアログボックスで、[スケジューリング方法] を設定し、[OK] をクリックします。

スケジューリング方法 の値:

使用するタイミング動作
手動実行 (デフォルト)スケジュールに関係なく、ワークフローを今すぐ実行します。すぐに開始します。
バックフィル過去の期間のデータを再処理します。例えば、スケジュールされた実行がスキップされた場合や、ジョブが修正され過去のデータに対して再実行する必要がある場合などです。指定された範囲内の各スケジューリング間隔で実行を生成します。

[Backfill]」を選択すると、以下のパラメーターを設定します。

パラメーター説明
サイクル過去の期間です。この範囲内に該当する各スケジューリング間隔で実行が生成されます。範囲は現在の時刻より前でも可能です。${ds} などの時間変数は、対応するサイクル時間に自動的に置き換えられます。
リソースキューワークフローに構成されたリソースキューがデフォルトです。必要に応じて別の本番キューを選択します。
備考実行の管理とトラブルシューティングに役立つ説明です。
その他 > 失敗通知バックフィルが失敗した場合に通知するメールアドレスです。

ワークフロー実行ステータスの確認

[ワークフロー実行ステータス] 列は、各ワークフロー実行のステータスを示します。[ワークフロー ノード実行ステータス] 列は、実行内の個々のノードのステータスを示します。実行レコードおよびノードレベルの実行ログの詳細については、「ワークフローの実行とワークフロー ノードの実行の管理」をご参照ください。

image.png

ワークフロー実行ステータス

ステータス
実行中
成功
失敗
保留中

ワークフロー ノードのステータス

ステータス
実行中
成功
失敗
リトライ中
保留中

次のステップ

参考資料