此頁面包含管線預期的 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 條件陳述式,必須針對每筆記錄評估為 true 或 false。 條件約束包含正在驗證的內容的實際邏輯。 記錄未通過此條件時,就會觸發預期。 |
expect_all裝飾器需要將描述和約束以鍵值對的形式傳遞為dict。