データ統合パイプラインのビルドスケジュールスケジュールを作成する

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

スケジュールを作成する

Data Lineage スケジュールエディターでは、新しいスケジュールを作成したり、既存のスケジュールを編集したりできます。また、既存のスケジュールのメトリックを表示したり、スケジュールがデータセットをどのように構築するかを確認することもできます。

スケジュールエディターへの移動

以下の手順で、Data Lineage スケジュールエディターに移動し、新しいスケジュールを作成します:

  1. ビルドをスケジュールしたいデータセットの データセットプレビュー に移動し、アクション メニューを開き、スケジュールの管理 を選択します。

アクションメニューからスケジュールを管理

  1. これにより、Data Lineage グラフと、データセットに影響を与える現在のすべてのスケジュールをリスト表示するスケジュールパネルが右側に表示されます。

    スケジュールを作成するには、スケジュール作成 ボタンをクリックします。

    新しいスケジュールを作成

  2. これにより、スケジュールエディターに移動します。

    Data Lineage スケジュールエディター

スケジュールの定義

スケジュールを定義するには、以下のセクションを完了する必要があります。

ブランチ選択

Data Lineage でスケジュールを作成すると、スケジュールはグラフで設定したブランチ(フォールバックブランチを含む)に適用されます。

ターゲットデータセット

ターゲットデータセットは、ビルドの最後のデータセットを指定します。デフォルトでは、これらのデータセットのみがビルドされます。他の設定では、これらのデータセットがビルドされるデータセットのラインの最後になる場合があります。

ビルドスケジュールのターゲットデータセット

ターゲットデータセットは、グラフに追加してターゲットとしてマーキングすることで選択できます。

グラフにターゲットデータセットを追加

データセットは、Data Lineage ウィンドウの右上で設定したブランチ上でビルドされます。グラフ上のデータセットは、スケジュールによってどのように影響を受けるか、または影響を与えるかによって色分けされます。

除外するデータセット

除外するデータセットは、ビルドするデータセットを決定するときにグラフトラバーサル中に無視されるデータセットを指定します。無視されるデータセットの上流にあるすべてのデータセットはビルドされません。

ビルドからデータセットを除外

ビルドするタイミング

トリガーはビルドが実行されるタイミングを指定します。トリガーで定義された条件が満たされたときにビルドが実行されます。

基本的なトリガーは2種類あります:

トリガーは、より複雑な複合トリガーを作成するために組み合わせることができます。トリガーを組み合わせる方法は、トリガーエディターのメニューから選択できます:

  • これらのトリガーのいずれか: コンポーネントトリガーのいずれかが満たされると、トリガーが満たされます。

  • これらのトリガーすべて: コンポーネントトリガーすべてが満たされると、トリガーが満たされます。

  • 高度な設定: コンポーネントトリガーの組み合わせ方を明示的に設定します。

    高度な設定が選択されると、コンポーネントトリガーは、2つのトリガーの間に AND および OR のキーワードを挿入することで組み合わされます。複合トリガーは、さらに括弧 () の内部に置くことで組み合わせることができます。

    • AND は、コンポーネントトリガーの両方が満たされると、複合トリガーが満たされることを示します。

    • OR は、コンポーネントトリガーのいずれかが満たされると、複合トリガーが満たされることを示します。

    複合トリガーについて詳しくはこちら。

ビルドタイプ

ビルドタイプは、選択したデータセットをどのようにビルドするかを指定します:

  • シングルビルド: ターゲットデータセットをビルドします(他のデータセットはビルドされません)。

  • フルビルド(上流を含む): すべてのターゲットデータセットと、このターゲットの上流のすべてのデータセットをビルドします(除外されたデータセットを除く)。ビルドされるデータセットは、上流の依存関係が変更されると変更される場合があります。

  • 接続ビルド: 入力データセット(除外)とターゲットデータセット(含む)の間のすべてのデータセットをビルドします。データセットが入力データセットとターゲットデータセットの間にあるが、明示的に入力として追加されている場合、スケジュールによってそれでもビルドされます。データセットがターゲットデータセットとして選択されているが、入力データセットからターゲットデータセットへのビルドパスが存在しない場合、ターゲットデータセットはビルドされません。

接続ビルドの場合、ターゲットデータセットと上流データセットを接続するすべてのデータセットは、スケジュールが設定されているブランチ上のジョブスペックパスによって接続されている必要があります。

上記を、データセット D1, ..., D6 があり、データセット D2 の2つの異なるブランチが D3 と D4 の入力として使用される例のデータフローで説明します。マスターブランチ上の接続ビルドスケジュールで、入力が D1 でターゲットが D5 と D6 の場合、D2、D4、D6 のみがビルドしようとします。

これは、マスターブランチ上で入力 D1 からターゲット D6 への接続ビルド選択が、データセット D1 と D6 の間にジョブスペックパスが存在するため、データセット D2、D4、および D6 を選択するからです。しかし、入力 D1 からターゲット D5 への接続ビルド選択は存在せず、マスターブランチに沿ったジョブスペックパスが切断されています。

D1 (master) --> D2 (master) --> D4 (master) --> D6 (master)
                 |
                 | D2 (develop)  # D2 (開発ブランチ)
                 |
                  --> D3 (master) --> D5 (master)

この例でデータセットD3をスケジュールされたビルドに含めるためには、ビルドをフルビルドに変更する必要があります。これにより、D3だけでなく、上流のD5の入力D1も含まれます。または、接続ビルド選択のままにするためには、D2(develop)を入力とし、D3を出力とする変換を編集して、マスターブランチに追加のダミー入力D7を含めることができます。下記のようにです。入力D1とターゲットD5とD6を持つマスターブランチの接続スケジュールビルドは、現在D2、D3、D4、D5、そしてD6をビルドします。

D1 (master) --> D2 (master) --> D4 (master) --> D6 (master)
                 |
                 | D2 (develop)  // D2 (開発ブランチ)
                 |
D7 (master) -------> D3 (master) --> D5 (master)

この図は、gitのブランチの流れを示しています。masterブランチからdevelopブランチが分岐し、その後再びmasterブランチに統合されています。

ビルドブランチ選択の接続

接続ビルドスケジュールを利用している場合、スケジュールを含むブランチとは異なるブランチからデータセットを使用している場合、入力とターゲットビルドの間に同じブランチ上の接続ジョブスペックパスが存在しなければならない。これにより、これらのデータセットがビルドに含まれます。

ビルドスコープ

データパイプラインの動的な性質を考慮に入れ、ビルドに含まれるデータセットのセットは、スケジュールがトリガーされるたびに評価されます。ビルドスコープは、スケジュールビルドの境界を定義し、パイプラインの内容が変わっても、これらの境界は固定されたままになります。利用可能なスコープオプションは2つあります:

  1. プロジェクト別: スケジュールは、選択されたプロジェクト内の対象となるデータセットのみをビルドすることが許可されます。
  2. ユーザーアカウント別: スケジュールは、スケジュールの作成者/編集者がビルドを許可されたデータセットのみをビルドすることが許可されます。

プロジェクトスコープ

プロジェクトスコープは、スケジュールが選択したプロジェクト内のデータセットのみで実行されることを保証します。ユーザーの権限が変わってもスケジュールが影響を受けないようにします。このオプションは、ビルドの内容がそれほど変わらない限り、選択したプロジェクト内で実行できなくなる場合が最も信頼性があります(下記参照)。

次の場合、ビルドはプロジェクトスコープにすることができません:

  • プロジェクトでスケジュールを作成する権限がありません。
  • データセットをビルドするための十分な権限がありません。
  • スケジュールの設定がマーキングを削除するデータセットをカバーしています(これはData Lineageで、グラフが権限で色付けされたときに確認できます)。
  • スケジュールの設定がユーザーアカウントでビルドする必要があるデータセットをカバーしています。
  • スケジュールの内容が一意のプロジェクトセットに解決できません。

ユーザースコープ

ユーザースコープでは、スケジュールビルドは最後に編集(または作成)したユーザーを代表してトリガーされます。したがって、ビルドには、ユーザーがビルドを許可されたデータセットのみが含まれます。このオプションは、スケジュールされたパイプラインが変更され、プロジェクトスコープが不可能になる可能性がある場合(例えば、データセットが別のプロジェクトに移動され、新しいデータセットがユーザーアカウントで実行する必要があるなど)に最も信頼性があります。

警告

ユーザーが非活動化されるか、ビルドに必要なデータセットへの権限を失った場合、スケジュールビルドの開始に失敗します。ユーザーアカウントでスコープを設定する場合は、アカウントが信頼性のある権限を持っていることを確認し、ユーザーが非活動化される前に所有権を変更することを忘れないでください。

高度な設定

高度な設定では、追加のビルドオプションを指定します:

advanced-settings

  • 強制ビルド: ビルドを実行する際に、古さの情報を無視します。すべてのデータセットが古くてもビルドされます。このオプションはほとんど必要ありません。このオプションが必要な稀な例は次のとおりです:

    1. Data Connection同期: Data Connection同期は、外部からの入力を持つため、常に最新とマークされます。Foundryは、外部データに更新があったかどうかを知りません。Data Connection同期をビルドの残りから別々にスケジュールすることをお勧めします。これにより、同期だけが強制的にビルドされます。
    2. API呼び出しを行う変換: Data Connection同期と同様に、API呼び出しには最新の概念がありません。これらの変換は、実行を確認するために強制ビルドが必要です。他のデータセットを不必要にビルドすることを避けるため、このビルドの部分を別々にスケジュールすることをお勧めします。
    3. Phonograph同期
  • 失敗時にビルドを中止: ビルド内の任意のジョブが成功しない場合、すぐにビルドを終了して他のすべてのジョブをキャンセルします。

  • 失敗したジョブの試行回数をカスタマイズ: 失敗したジョブの実行試行回数。再試行されたジョブは同じビルドの一部として実行されます。全ての再試行が行われるか、再試行ができないことを示すエラーが発生するまで、ジョブは失敗とは見なされません。この値を1に設定すると、ジョブは一度しか試行されないため、再試行が防止されます。すべてのタイプの失敗が再試行できるわけではないことに注意してください。スケジュールが実行されるときの再試行回数は、管理者が設定した最大値に制限されます。

  • ビルドが終了したときに通知を送信: スケジュールされたビルドについては、デフォルトでは通知は送信されません。通知を有効にするには、このオプションを選択します。

スケジュールの保存

スケジュールの定義が完了したら、スケジュールを保存ボタンをクリックします。

これにより、スケジュールページに戻り、保存されたスケジュールが表示されます。