ジョブのパラメーター化

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

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

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

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

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

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

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

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

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

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

ジョブ パラメーターは、ジョブ レベルで定義されたキーと値のペアです。 ジョブ パラメーターのデフォルト設定をオーバーライドするには、 別のパラメーターを使用して now を実行する とき、または REST API. ジョブ・パラメーターは、キーと値のパラメーターを使用するタスクにプッシュダウンされます。 他のタスクは、動的値参照を使用してジョブ・パラメーターを参照できます。

タスク パラメーターは、タスク レベルで定義された JSON 配列のキーと値のペアです。 各タスクタイプは、タスク値を設定されたコードアセットに異なる方法で渡します。 たとえば、ノートブック タスクは dbutils.widgets サブモジュールを使用しますが、Python スクリプトは、コマンド ラインから呼び出された場合と同様に、引数として値をスクリプトに渡します。 ダウンストリーム タスクは、動的値参照を使用してアップストリーム タスクからタスク パラメーターを参照できます。

注:

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

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

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

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

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

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

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

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

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