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

データセットをロールバックする

パイプラインを構築する際に、データセットを以前のバージョンにロールバックする必要が生じる場合があります。これには、次のようなさまざまな理由が考えられます。

  • データセットのビルドに必要なロジックに誤りが見つかり、元に戻す必要があります。
  • 上流のソースから誤ったデータがパイプラインに送られました。
  • 障害が発生し、データセットを以前の状態にすばやく戻したいと考えています。

データセットのロールバック機能を使用すると、データセットのデータとジョブ履歴を更新できます。データセットがインクリメンタルにビルドされている場合、データセットのロールバック機能によって、データセットのインクリメンタル性も保持されます。

データセットのロールバックの種類

データセットで実行できるロールバックには、次の2種類があります。

  1. 以前のトランザクションへのロールバック: データセットのロールバック先となる以前のトランザクションがある場合に実行します。
  2. 次回のビルドでのスナップショットの強制: 通常、ロールバック先となる以前のトランザクションがないインクリメンタル(差分処理)ワークフローに適用します。つまり、ブランチまたはデータセットが作成される前の状態にデータセットをロールバックする必要がある場合です。

以前のトランザクションにロールバックするつもりで、誤ってデータセットの次回のビルドでスナップショットを強制してしまった場合は、ロールバックを続行しないでください。データセットが部分的にロールバックされた状態になるおそれがあります。

代わりに、データセットをビルドしてください。次回のビルドでスナップショットを実行するように設定されているため、スナップショットとして実行されます。その後、意図していたロールバックを実行してください。

考慮事項と制限事項

データセットをロールバックする際は、次の点に留意してください。

  • ロールバックは、トランザクション型データセットのみでサポートされています。
  • ロールバック先として指定できるのは、_成功した_トランザクションのみです。
  • 保持ポリシーに基づいて削除されたトランザクションにはロールバックできません。ただし、Data Lineage でのデータセットのロールバックによって削除されたトランザクションにはロールバック_できます_。
  • ロールバックできるのは、編集者ロールを持つデータセットのみです。
  • ロールバックの実行後も、データセットの元となるロジックは変更されません。次回のビルドに変更を適用するには、ロジックを更新する必要があります。
  • ロールバックを実行するブランチがデータセットに存在しない場合、ロールバックはフォールバックブランチに適用されます。

同じジョブで複数の出力をまとめてビルドしている場合は、各出力を、同じ過去のジョブでビルドされたトランザクションにロールバックする必要があります。

同様に、複数の出力をまとめてビルドしている場合は、そのすべてについて、次回のビルドでスナップショットとして実行するように強制する必要があります。

出力の一部だけをロールバックしたり、スナップショットを要求したりすると、後続のジョブに対して出力が不整合な状態になります。特に、インクリメンタルワークフローでは次のようになります。

  • 一部だけのロールバックによって、後続のジョブが予期せずスナップショットとして実行される可能性があります。
  • 一部だけにスナップショットの強制を要求すると、後続のジョブは引き続きインクリメンタルに実行されます。

ブランチが存在しない場合、ロールバックはフォールバックブランチで実行されます。

以前のトランザクションにロールバックする

  1. ロールバックするデータセットを含む Data Lineage グラフに移動します。
  2. グラフ内のデータセットを選択します。次に、グラフ上部のブランチセレクターから、ロールバックを実行するブランチを選択します。

ロールバックを実行するブランチを選択します。

  1. ページ下部のパネルで、Transaction履歴タブを選択します。
  2. ロールバック先のトランザクションを選択します。

ロールバック先のトランザクションを選択します。

  1. トランザクションにロールバックを選択します。
  2. 確認ダイアログが表示されます。

ロールバックを確認します。

  1. ロールバックは簡単には元に戻せないという警告を了承し、ロールバックデータセットを選択します。

  2. ロールバックが完了したら、データセットの Transaction履歴タブに移動し、以下に示すように、ロールバックされたトランザクションに取り消し線が表示されていることを確認します。

ロールバックが成功すると、トランザクションに取り消し線が表示されます。

データセットが、Object Storage v2 を使用して保存されるオブジェクトタイプの元データソースである場合は、ロールバック後の状態を反映するために手動での対応が必要です。置換パイプラインを正常に実行し、オブジェクトタイプが再インデックス化されるようにする必要があります。

次回のビルドでスナップショットを強制する

スナップショットを強制しても、データセットのトランザクション履歴は変更されず、すぐに目に見える変化が生じることもありません。スナップショットは次回のビルドで実行されます。

スナップショットを強制した場合、入力データにもデータセットの元となるロジックにも変更がなければ、データセットを再ビルドするために強制ビルドが必要になります。

  1. スナップショットを強制するデータセットを含む Data Lineage グラフに移動します。
  2. グラフ内のデータセットを選択します。次に、グラフ上部のブランチセレクターから、ロールバックを実行するブランチを選択します。

ロールバックを実行するブランチを選択します。

  1. ページ下部のパネルで、Transaction履歴タブを選択します。トランザクションは選択しないでください。

「Transaction履歴」タブ内の概要パネル。

  1. 表示された概要パネルで、右上のツールバーにある強制スナップショットオプションを選択します。

強制スナップショットを選択します。

  1. 確認ダイアログが表示されます。

次回のビルドでスナップショットを強制することを確認します。

  1. 次回のビルドでのスナップショットの強制は元に戻せないという警告を了承し、キューのスナップショットを選択します。