メインコンテンツまでスキップ

ジョブのパラメーター化

パラメーターを使用すると、ジョブとそのタスクに値を渡し、タスク間で値を参照できます。この記事では、Lakeflow Jobs で利用できるパラメータータイプおよび UI でそれらを構成する方法について説明します。タスクとして構成したソースコードアセットを、パラメーターを参照するように更新する必要があります。パラメーターの参照は、言語とタスクタイプによって異なります。タスクからのパラメーター値へのアクセスを参照してください。

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

  • ジョブ パラメーター : ジョブ レベルで定義され、タスクにプッシュダウンされたキーと値のペア。 ジョブ・パラメーターの構成を参照してください。
  • タスク パラメーター : タスク レベルで定義されたキーと値のペアまたは JSON 配列。 タスク パラメーターの設定を参照してください。
  • 動的な値参照 :タスクを構成する際に、ジョブの条件、メタデータ、およびパラメーターを参照するための構文です。動的値参照を参照してください。
  • タスク値 : タスクの実行中に生成された値をキャプチャして参照するための構文。 「タスク値を使用してタスク間で情報を渡す」を参照してください。

パラメーターでできること

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

  • コード資産に拡張可能なロジックを追加します。
  • 実行を条件付けします。
  • 複数のタスク間で共通のパラメーターを参照します。
  • あるタスクで生成された情報を別のタスクで使用します。
  • ジョブ実行でメタデータと状態情報を参照します。

ジョブパラメーター対タスクパラメーター

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

注記

ジョブでCAN MANAGE RUN以上の権限を持つユーザーは、 Run now with different parameters を使用して、手動実行のジョブパラメーター値を上書きできます。デフォルトのパラメーター値はセキュリティ制御ではありません。変更を防ぐため、ジョブの権限を制限します。

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

注記

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

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

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

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

  • ジョブ・パラメーターを 1 つのタスクの output_table として使用し、別のタスクの input_table として使用します。
  • ノートブック クエリの出力をリストとしてキャプチャし、 For each タスクでループします。
  • If/else 条件 タスクを使用して処理されたレコードの数に基づいて分岐ロジックを作成します。
  • 他のタスクのパラメーターを参照してください。

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