Datavines 是一站式开源数据可观测性平台,提供元数据管理、数据概览报告、数据质量管理,数据分布查询、数据趋势洞察等核心能力,致力于帮助用户全面地了解和掌管数据,让您做到心中有数。
场景
比较某张表(有时间分区列)今天的数据量和昨天的数据量,如果今天的数据量小于昨天的数据量就需要告警。
思路
使用两表值比对规则配合内置时间参数。
使用两表值比对的规则,通过编写 SQL 语句来统计今天和昨天的数据量,然后比较两个值,如果今天的值大于昨天的值则为真,否则为假。
步骤
- 选择数据比对作业中的两表值比对规则
- 选择对应的数据库和表,并编写计算实际值 SQL 语句。
- 语句里面用到了
$[today]
时间变量,系统会自动替换成今天的日期,格式为yyyy-MM-dd
,也可以自己配置格式$[today(yyyyMMdd)]
。 - 注意 as 后面的别名一定要是 actual_value,否则统计会出错。
- 表名可以用
${table}
,系统会自动替换,也可以直接写正确的表名。
- 语句里面用到了
select count(1) as actual_value from ${table} where data_date='$[today]'
- 选择对应的数据库和表,并编写计算期望值 SQL 语句
- 语句里面用到了
$[yesterday]
时间变量,系统会自动替换成昨天的日期,格式为yyyy-MM-dd
,也可以自己配置格式$[yesterday(yyyyMMdd)]
。 - 注意 as 后面的别名一定要是 expected_value,否则统计会出错。
- 表名可以用
${table2}
,系统会自动替换,也可以直接写正确的表名。
- 语句里面用到了
select count(1) as expected_value from ${table2} where data_date='$[yesterday]'
- 配置结果判断公式
- 结果公式选择:实际值-期望值
- 比较符选择:>=
- 阈值:0
如果公式实际值-期望值 >= 0
的结果为真, 那么就证明今天的表行数大于昨天的表行数,否则就证明今天的表行数小于昨天的表行数,结果是异常的,需要告警。
视频操作演示
加入我们
Datavines 的目标是成为更好的数据可观测性领域的开源项目,为更多的用户去解决元数据管理和数据质量管理中遇到的问题。在此我们真诚欢迎更多的贡献者参与到社区建设中来,和我们一起成长,携手共建更好的社区。
- 项目地址: https://github.com/datavane/datavines
- 问题和建议: https://github.com/datavane/datavines/issues
- 贡献代码: https://github.com/datavane/datavines/pulls
关于Datavane
Datavane
是一个专注于大数据领域的开源组织(社区),由一群大数据领域优秀的开源项目作者共同创建,旨在帮助开源项目作者更好的建设项目、为大众提供高质量的开源软件,宗旨是:只为做一个好软件。目前已经聚集了一批优质的开源项目,涉及到数据集成、大数据组件管理、数据质量等。
在 Datavane
社区中,所有的项目都是开源开放的,代码质量和架构设计优质的潜力项目。社区保持开放中立、协作创造、坚持精品,鼓励所有的开发者、用户和贡献者积极参与我们的社区、共同合作,创新创造,建设一个更加强大的开源社区。
Github: https://github.com/datavane