👉🏻 场景
在上一篇Tips中,我们介绍了「数据更新触发调度」 的方式执行质量规则,这种方式适用于表的数据更新来源任务不固定、任务范围也比较广的情况。在涉及表数据更新的任务节点不会发生变更时,我们也可以通过「固定任务触发调度」的方式,进行质量规则的调度配置。
👉🏻 功能 / 解决方案
Dataphin 数据质量的 「固定任务触发调度」 功能,支持以下三种触发场景:
- 所有任务都运行成功后触发
- 每个任务每次运行成功后均触发
- 每个任务每次运行前均触发
这里,以一张顾客信息表为例,我们不知道该表会被哪些下游任务所引用,但我们已知该表来源为某几个集成任务。因此,我们可以针对这些已知的集成任务节点配置「每个任务每次运行成功后均触发」质量规则校验,并通过强规则阻断下游任务运行(需要注意的是,这里提到的下游任务应该规范配置调度依赖,明确指定上述集成任务作为依赖项)。
- 在【治理】-【数据质量】-【质量规则】中,为
customer_id
字段设置“非空值校验”规则,并将规则类型设置为强规则,确保检测不通过时可直接阻断下游任务执行,防止脏数据扩散。
- 完成规则配置后,进入该对象的【调度配置】,点击新建调度。
- 在新建调度页面为调度命名,选择「固定任务触发调度」类型,触发时机为【每个任务每次运行成功后触发】,支持选择当前用户有运维权限的生产任务节点,系统也会展示产出当前表的任务作为推荐。
- 保存调度后,返回【规则配置】编辑对应质量规则,将其与刚创建的调度绑定,在该表的产出任务执行后,自动进行质量校验。
- 调度生效后,每次产出该信息表的任务执行完成后,系统会自动触发质量校验:
- 若通过,系统生成一条“通过”的校验记录,任务继续执行;
- 若不通过,系统生成一条“不通过”的校验记录,同时将该任务置为“运行失败”,并默认阻断下游任务运行,防止异常数据扩散。