本页包含针对 Lakeflow 声明性管道期望的 Python 参考文档。
期望装饰器用于声明在 Lakeflow 声明性管道中创建的具体化视图、流式表或临时视图上的数据质量约束。
该 dlt
模块包含六个修饰器,用于控制预期行为。 下表描述了这些排列的不同维度:
行为 | 选项 |
---|---|
对违反行为的措施 |
|
预期数 | 单个期望或多个期望。 |
可以将多个期望修饰器添加到数据集,从而在数据质量约束的严格性方面提供灵活性。
使用 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 |
---|---|---|
description |
str |
必填。 一个标识约束的描述。 约束说明对于每个数据集必须是唯一的。 |
constraint |
str |
必填。 约束子句是一个 SQL 条件语句,必须计算结果为 true 或 false 针对每个记录。 该约束包含正在验证的内容的实际逻辑。 当一条记录未通过此条件时,将触发预期条件。 |
expect_all
修饰器需要将描述和约束作为键值对的 dict
进行传递。