ジョブのパラメーター化

この記事では、ジョブとタスクでのパラメーターの使用について概説します。

以下は、ジョブのパラメーターを理解するための基本的な概念です。

パラメーターで何ができますか?

ジョブとタスクにパラメーターを追加すると、次のような高度なユースケースに対応できます。

  • コード資産に拡張可能なロジックを追加します。

  • 実行を条件付けします。

  • 複数のタスク間で共通のパラメーターを参照します。

  • あるタスクで生成された情報を別のタスクで使用します。

  • ジョブ実行でメタデータと状態情報を参照します。

ジョブ パラメーターとタスク パラメーターの違いは何ですか?

Job parameters are key-value pairs defined at the job level. You can override the default settings for job parameters when you Run now with different parameters or trigger a job run using the REST API. Job parameters are pushed down to tasks that use key-value parameters. Other tasks can reference job parameters using dynamic value references.

Task parameters are key-value pairs of JSON arrays defined at the task level. Each task type passes task values to the configured code assets differently. For example, notebook tasks use the dbutils.widgets submodule, while Python scripts pass values as arguments to the script as if it were being called from the command line. Downstream tasks can reference task parameters from upstream tasks using dynamic value references.

注:

一部のタスクには専用の パラメーター フィールドがありませんが、タスク値への参照や他のフィールド内の動的値参照は許可されます。 パラメータ化された dbt コマンドの例If/else タスクを使用したジョブへの分岐ロジックの追加を参照してください。

動的な値を使用したワークフローの構築

静的な値で設定されたタスク パラメーターは、タスク定義を更新することによってのみオーバーライドできます。 ジョブ パラメーターの静的な値の設定は、単にデフォルト値を構成するだけであり、 別のパラメーターを使用して今すぐ実行 したり、 REST APIを使用してジョブの実行をトリガーしたりするときに、デフォルト値をオーバーライドできます。

タスク・パラメーターを定義するときに動的値参照を使用して、次のようなパターンを実装します。

  • ジョブ・パラメーターを 1 つのタスクの output_table として使用し、別のタスクの input_table として使用します。

  • ノートブック クエリの出力をリストとしてキャプチャし、 For each タスクでループします。

  • If/else 条件タスクを使用して処理されたレコードの数に基づいて分岐ロジックを作成します。

  • 他のタスクのパラメーターを参照してください。

動的値参照とはを参照してください