共用方式為


Expectations

此頁面包含管線預期的 Python 參考文件。

預期裝飾器會在管線中建立的具現化檢視、串流資料表或暫存檢視中宣告資料品質限制。

dp 模塊包括六個裝飾器來控制期望行為。 下表說明這些排列不同的維度:

行為 選項
對違規行為的處置措施
  • 將該資料列納入目標資料集。 有效和無效記錄的計數會與其他資料集指標一起記錄。
  • 在寫入目標資料集之前,先刪除資料列。 已刪除的記錄數會與其他資料集指標一起記錄。
  • 立即停止更新。 此預期會導致單一流程失敗,但不會導致管線中的其他流程失敗。
期望數 單一期望或多個期望。

您可以將多個期望裝飾器新增至資料集,為資料品質限制提供更大的嚴格性彈性。

當您使用 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 必須的。 限制子句是 SQL 條件陳述式,必須針對每筆記錄評估為 truefalse。 條件約束包含正在驗證的內容的實際邏輯。 記錄未通過此條件時,就會觸發預期。

expect_all裝飾器需要將描述和約束以鍵值對的形式傳遞為dict