次の方法で共有


Expectations

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

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

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

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

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

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

構文

期待されるデコレーターは、次の例のように、 @dp.table()@dp.materialized_view 、または @dp.temporary_view() デコレーターの後、およびデータセット定義関数の前に来ます。

from pyspark import pipelines as dp

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

パラメーター

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

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