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