次の方法で共有


期待

このページには、Lakeflow 宣言型パイプラインの期待に関する Python リファレンス ドキュメントが含まれています。

期待デコレーターは、Lakeflow 宣言型パイプラインで作成された具体化されたビュー、ストリーミング テーブル、または一時ビューに対するデータ品質制約を宣言します。

dlt モジュールには、期待される動作を制御するための 6 つのデコレーターが含まれています。 次の表では、これらの順列が異なるディメンションについて説明します。

行動 オプション
違反に対するアクション
  • ターゲットデータセットに行を追加します。 有効なレコードと無効なレコードの数は、他のデータセット メトリックと共にログに記録されます。
  • ターゲット データセットに書き込む前に行を削除します。 削除されたレコードの数は、他のデータセット メトリックと共にログに記録されます。
  • 更新を直ちに停止します。 この期待により、単一のフローの障害が発生し、パイプライン内の他のフローが失敗することはありません。
期待値の数 1 つの期待値または複数の期待値。

データセットに複数の期待デコレーターを追加できるため、データ品質の制約に対する厳密さの柔軟性を提供できます。

expect_allデコレーターを使用する場合、各期待値には独自の説明があり、詳細なメトリックがレポートされます。

構文

期待デコレーターは、@dlt.table()@dlt.view()デコレーターの後に、データセット定義関数の前に配置されます。次の例をご覧ください。

import dlt

@dlt.table()
@dlt.expect(description, constraint)
@dlt.expect_or_drop(description, constraint)
@dlt.expect_or_fail(description, constraint)
@dlt.expect_all({description: constraint, ...})
@dlt.expect_all_or_drop({description: constraint, ...})
@dlt.expect_all_or_fail({description: constraint, ...})
def <function-name>():
    return (<query>)

パラメーター

パラメーター タイプ 説明
description str 必須。 制約を識別する説明。 制約の説明は、データセットごとに一意である必要があります。
constraint str 必須。 制約句は、各レコードの true または false に評価する必要がある SQL 条件付きステートメントです。 制約には、検証対象の実際のロジックが含まれています。 レコードがこの条件に失敗すると、期待値がトリガーされます。

expect_allデコレーターでは、キーと値のペアのdictとして説明と制約を渡す必要があります。