本页包含针对 Lakeflow 声明性管道期望的 Python 参考文档。
期望修饰器在 Lakeflow 声明性管道中创建的具体化视图、流式表或临时视图上设定数据质量约束。
该 dp
模块包含六个修饰器,用于控制预期行为。 下表描述了这些排列的不同维度:
行为 | 选项 |
---|---|
对违规行为的处理措施 |
|
预期数 | 单个期望或多个期望。 |
可以将多个期望装饰器添加到数据集中,从而灵活地调整数据质量约束的严格程度。
使用 expect_all
修饰器时,每个期望都有其自己的描述和报告详细指标。
Syntax
预期修饰器在 @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
键值对传递。