注: 以下の翻訳の正確性は検証されていません。AIPを利用して英語版の原文から機械的に翻訳されたものです。
データが満たすべき条件は、データセット、仮想テーブル、Iceberg テーブルの入力または出力に対してコードで定義する要件です。これらの要件、つまり「データが満たすべき条件」を使用して、データパイプラインの安定性を向上させるチェックを作成できます。データセットのビルド中にデータが満たすべき条件のチェックに失敗した場合、ビルドを自動的に中止することで、時間とリソースを節約し、下流データの問題を回避できます。データが満たすべき条件は、監視のために Data Health と統合されています。
はじめるには、Python トランスフォームのドキュメントにあるガイドを参照するか、利用可能なすべての条件のリファレンスを参照してください。
データが満たすべき条件は、該当するコードリポジトリ内のデータセットのトランスフォームに対して定義します。チェックは、トランスフォームの入力と出力に適用できます(詳細はガイドを参照してください)。チェック名は、単一のトランスフォーム内で一意である必要があります。
チェックでは、データが満たすべき条件とともに、ビルド時の失敗の処理方法を定義します。チェックに失敗した場合、ビルドを中止するか、警告付きで再開できます。
チェックは、該当するブランチでの CI 実行中に登録されます。保護されたブランチの条件を変更するには、ほかのコード変更と同様にプルリクエストが必要です。
保護されたブランチを変更する場合は、デフォルトブランチに変更をマージする前に、開発ブランチでデータセットをビルドして、データが満たすべき条件を満たしていることを確認することを推奨します。
登録されたチェックは、ビルドジョブの一環として実行されます。データが満たすべき条件を満たさなかった場合は、Builds アプリケーションおよびデータセットの履歴タブで強調表示されます。チェックの定義でエラー時に FAIL とすることが指定されている場合、ジョブのステータスは適切なエラーとともに「中止」に変わります。ジョブのタイムラインには「データが満たすべき条件」インジケーターがあり、クリックするとチェック結果とそれぞれの条件の内訳が表示されます。
事前条件のチェックに失敗した場合、トランスフォームの出力が中止されます(事前条件が定義された入力ではありません)。入力データセットのビルドを中止するには、その入力データセットのトランスフォームに、データが満たすべき条件を事後条件として定義する必要があります。
チェックを実行するたびに、結果が生成され、Data Health に報告されます。データが満たすべき条件の最新の結果は、データセットプレビューアプリケーションのヘルスタブに表示されます。ここでは、ほかの Data Health チェックと同様に、通知と Issue のトリガーを設定できます。
データセットのチェックは、その名前によって一意に識別されることに注意してください。チェックの履歴と個別の監視設定は、名前が変更されない限り保持されます。チェックの名前を変更することは、古いチェックを削除し、代わりに新しいチェックを作成することと同じです。
トランスフォームがインクリメンタルかどうかにかかわらず、すべてのチェックはデータセット全体に対して実行されます。
たとえば、インクリメンタルに実行されるトランスフォームの出力に主キーチェックがあるとします。データが満たすべき条件のチェックは常にデータセット全体に対して実行されるため、新しいトランザクション(これからインクリメンタルに書き込まれるトランザクション)に新しい主キーが含まれており、同じ主キーがすでに(以前のトランザクションで)書き込まれている場合、チェックに失敗します。