データ接続と統合パイプラインの構築スケジュールパラメータ化

注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。

パラメーター化 [ベータ版]

ベータ版

スケジュールのパラメーター化は開発のベータ版段階にあり、お使いのエンロールメントでは利用できない場合があります。この機能は現在、Python トランスフォームでのみ利用可能であり、開発が進む中で機能が変更される可能性があります。

パラメーター化により、異なるパラメーター値でトランスフォームのロジックを実行できます。

Python トランスフォームでパラメーターを定義する

パラメーター化を使用するには、まずトランスフォームのロジックでパラメーターを定義し、リポジトリが次のバージョン要件を満たしていることを確認する必要があります。

  • transformsVersion は 10.96.0 以降である必要があります。
  • transformsLangPythonPluginVersion は 1.1137.0 以降である必要があります。

要件を満たしていない場合は、リポジトリのアップグレードガイドに従い、リポジトリが上記のバージョン要件を満たすようにしてください。

各パラメーターには名前、データ型、デフォルト値があります。

  • パラメーター名: Python の変数名によって宣言されます。
  • パラメータの型: StringParam、IntegerParam、FloatParam、BooleanParam のいずれかです。
  • パラメーターのデフォルト値: パラメーターが指定されていない場合、つまりパラメーター化されたスケジュールを通じてトランスフォームがビルドされなかった場合に使用される値です。

次の Python トランスフォームの例には、town_name と risk_factor という名前の2個のパラメーターがあり、デフォルト値はそれぞれ "Seattle" と 5 です。

Copied!
1 2 3 4 5 6 7 8 9 10 11 @transform.using( processed_towns=Output('/path/to/output_towns'), towns=Input('/path/to/input_towns'), town_name=StringParam("Seattle"), risk_factor=IntegerParam(5), ) def compute(processed_towns, towns, town_name, risk_factor): ... selected_town_name = town_name.value selected_risk_factor = risk_factor.value ...

スケジュールエディターでパラメーター化を有効にする

トランスフォームのロジックを用意したら、Data Lineage で新しいスケジュールを作成し、パラメーター化オプションを有効にします。対象データセットのトランスフォームで定義されたパラメーターがここで利用可能になります。

Data Lineage のスケジュールパネルに、新しいスケジュールのパラメーター化を有効にするトグルが表示されています。

標準モード

標準モードでは、スケジュールでパラメーター値を指定します。スケジュールの実行時に、これらの値がトランスフォームに渡されます。

パラメーターに対してトランスフォームで定義されたデフォルト値を使用するには、スケジュールでそのパラメーターを非表示にします。

次の例では、このスケジュールで risk_factor パラメーターが非表示になり、town_name が "New York" に設定されています。

Data Lineage のスケジュールパネルで、リスク係数パラメーターが非表示になり、町名が New York に設定された新しい標準モードのスケジュールを作成しています。

ユースケースの例:インクリメンタル(差分処理)トランスフォームの定期的なスナップショットジョブ

インクリメンタルパイプラインで、1時間ごとのインクリメンタルビルドに加え、データのコンパクションを実行する非インクリメンタルビルドを毎日実行する必要があるとします。次の手順に従い、パラメーター化されたスケジュールを使用してこれを実現できます。

  1. ジョブの実行時の種類を示すブールパラメーターを持つトランスフォームを作成します。
Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 @incremental() @transform.using( processed_towns=Output('/path/to/output_towns'), towns=Input('/path/to/input_towns'), is_compaction_job=BooleanParam(False), ) def compute(processed_towns, towns, is_compaction_job): towns_df = towns.polars() if is_compaction_job.value: processed_towns.set_mode("replace") processed_towns.write_table(towns_df)
  1. トランスフォームをビルドする2個のスケジュールを作成します。
  • インクリメンタルビルド用の1時間ごとのスケジュール。パラメーター化を省略し、デフォルト値を使用できます。

Data Lineage のスケジュールパネルで、パラメーターのない新しい1時間ごとのインクリメンタルスケジュールを作成しています。

  • 非インクリメンタルのアーカイブビルド用の毎日のスケジュール。パラメーター化を有効にし、ブールパラメーター is_compaction_job を true に設定します。

Data Lineage のスケジュールパネルで、is_compaction_job パラメーターが true に設定された新しい毎日のコンパクションスケジュールを作成しています。

これらのスケジュールにより、同じトランスフォームのロジックをデプロイしたまま、1時間ごとのインクリメンタルビルドと毎日の非インクリメンタルビルドを実行できます。

並列化モード(高度な機能)

並列化モードでは、異なるパラメーター値を使って独立したビルドを並列に実行し、その結果を集計するスケジュールを作成できます。

実行設定

並列化モードでは、パラメーター値をスケジュールで直接指定しません。代わりに、スケジュールの実行設定で定義します。

実行設定は、特別な実行設定キーパラメーターの一意の値を含む、パラメーター値の組み合わせです。並列化されたスケジュールを作成するときに、パラメーターの1つを実行設定キーとして指定します。このキーは、その実行設定を識別するために使用されます。

ほかの実行設定のビルドが完了するのを待たずに、実行設定を独立して並列にビルドできます。Foundry は、成功した各ビルドの出力データを、構成された和集合ビュー出力に保存します。

スケジュールの実行設定を管理するには、既存の並列化されたスケジュールでメトリクスと履歴を選択し、実行設定タブに移動します。

Build Schedules アプリケーションに、実行設定の行がいくつかある実行設定タブが表示されています。

実行設定を作成する

新しい実行設定を作成するには、次の手順に従います。

  1. 実行設定を作成を選択します。
  2. 実行設定のパラメーター値を入力し、実行設定キーパラメーターに一意の値を指定します。
  3. 保存を選択して実行設定を作成します。

実行設定をビルドする

既存の実行設定をビルドするには、次の手順に従います。

  1. 実行設定リストで実行設定を見つけます。
  2. 対応する行で今すぐ Build を選択します。

ビルドに成功すると、構成された和集合ビュー出力で行が利用可能になります。

実行設定を編集する

既存の実行設定のパラメーター値を変更するには、次の手順に従います。

  1. 実行設定リストで実行設定を見つけます。
  2. 対応する行で (•••) メニューアイコンを選択し、編集を選択します。
  3. 必要に応じてパラメーター値を更新し、保存を選択します。

次回その実行設定がビルドされるときは、更新されたパラメーター値が使用されます。以前のビルドによる古い行は、デプロイが再ビルドされるまで、構成された和集合ビュー出力に残ります。

実行設定とその出力データを削除する

実行設定と、その実行設定が和集合ビュー出力に追加した行を削除するには、次の手順に従います。

  1. 実行設定リストで実行設定を見つけます。
  2. 対応する行で (•••) メニューアイコンを選択し、削除を選択します。
  3. 削除を確定します。

実行設定を削除すると、対応する行が、構成された和集合ビュー出力から削除されます。

和集合ビュー出力

並列の実行設定のビルドに成功しても、メインのスケジュールブランチでは出力データセットの内容は更新されません。代わりに、スケジュールで構成した出力用の和集合ビューに行の内容が収集されます。

スケジュールの作成時または編集時に、和集合出力を構成できます。スケジュール内の各対象データセットに対して、生成された行の保存に使用する和集合ビューを選択できます。

Data Lineage のスケジュールパネルで、各対象データセットに和集合ビュー出力が構成された新しい並列化モードのスケジュールを作成しています。

並列化されたスケジュールにアクションタイプを使用する

並列化されたスケジュールは、アクションタイプによって実行設定がビルドされる場合に最も役立ちます。スケジュールを実行するアクションタイプの作成について、詳しくはこちら。

アクションを通じて並列化されたスケジュールを実行すると、Foundry はアクションで指定されたパラメーター値を使って新しい実行設定を自動的に作成し、すぐにビルドを開始します。

実行設定キーの値が同じ実行設定がすでに存在する場合は、ビルドを開始する前に、その実行設定のパラメーター値が更新されます。

制限事項

すべてのパラメーター化されたスケジュールに、次の制限事項が適用されます。

  • スケジュールに設定できるパラメーターは最大50個です。
  • スケジュールで定義したパラメーターのデータ型と名前は、スケジュールの作成後に編集できません。新しいパラメーターを使用するには、新しいスケジュールを作成する必要があります。

並列化モードのスケジュールには、さらに次の制限事項が適用されます。

  • スケジュールに同時に設定できる実行設定は最大1,000個です。
  • 並列実行の結果を出力用の和集合ビューに収集できるのは、表形式の Foundry データセットのみです。
  • 並列化モードのスケジュールは、自動トリガーの定義をサポートしていません。実行設定を使用するか、アクションを実行して、手動でのみ実行できます。