目前我们的数据质量挑战有哪些?可以通过几个用户 case 了解一下。 User Story 1
某流量级产品商业化系统,M 级日志条数/秒;希望秒级监控日志延迟、关键字段空值,T+1 检测日志波动率。 User Story 2
某内部业务系统,日志存储 ES;希望每 5 分钟检测上一周期日志波动情况。 User Story 3
某内部指标平台,业务数据由 Hive 定期同步到 ClickHouse;希望每次同步任务后检查 Hive 与 ClickHouse 中的指标是否一致。
通过上面的介绍,大家应该也大致清楚了当前数据质量需要解决的问题。可能有人会说,数据质量平台我也做过,问题归总起来也不复杂,总而言之就是对数据进行各种计算,对比计算来的阈值即可,一般直接依赖于 Spark 引擎或者 Hive 引擎计算即可。确实,这也是我们数据质量最开始的样子。那为什么会演化到目前这样,我们面临了一些什么问题?
首先是场景需求非常复杂:
离线监控,主要是不同存储的数据质量监控,比如 Hive 或者 ClickHouse 。
字节跳动内部的广告系统对时效性和准确性要求很高,如果用微批系统 10 min 才做一次检测,可能线上损失就上百万了甚至千万了。所以广告系统对实时性要求相对较高。
另外一个是复杂拓扑情况下的流式延迟监控。
最后是微批,指一段时间内的定时调度,有些 Kafka 导入 ES 的流式场景,需要每隔几分钟对比下前一周期。