双数据源校验用于验证任意两种数据源之间的数据是否一致,可以是两种相同的数据源,也可以是两种不同的数据源。
该校验规则执行时,并非是对明细数据进行对比(如两份数据逐条校验),而是通过对两种数据源内的聚合指标做对比,来校验是否一致,比如:
因此,您需要定义以上聚合的指标,才可以完成该对比校验。
当前数据质量仅支持 EMR 引擎下的双数据源校验,本文将为您介绍如何操作。
EMR 引擎上传 Spark Jar 包后才能正常使用。若没有上传,当选择相应 EMR 引擎时,系统会弹窗提示您上传,操作如下:
说明
Spark Jar 包上传成功后,即可创建规则,操作如下:
单击新建规则按钮,进入规则创建页面。
根据页面提示,设置相关参数并依次单击下一步按钮。
创建双数据源校验规则相关参数设置如下表所示。欲了解其他配置情况的详细介绍可参见配置双数据源校验规则。
参数 | 说明 |
---|---|
双数据源校验逻辑-选择数据源A/B | |
*数据源类型 | 进行比对的数据源 A 和数据源 B 的类型,均下拉选择 StarRocks。 |
*数据源 | 使用的所选类型的数据源,自动填充一个已在控制台中登记的数据源,下拉可选其他。 |
*StarRocks查询语句 | 输入所选类型的查询语句,例如:
说明
|
双数据源校验逻辑-关联维度(通过关联维度可实现检验字段的细粒度比对) | |
source维度 | 源端数据源A查询语句产出的维度字段,根据示例的查询语句配置两个,分别为 address 和 id。 说明 配置多个维度字段可能会导致校验任务执行时长增加。 |
target维度 | 目标端数据源B查询语句产出的维度字段,分别填写与 source维度对应的两个 address 和 id。 |
双数据源校验逻辑-字段映射及逻辑检查 | |
*source字段 | 源端数据源A查询语句产出的指标字段,根据示例的查询语句配置两个,分别为 cnt 和 price。 |
*target字段 | 目标端数据源B查询语句产出的指标字段,分别填写与 source字段对应的两个 cnt 和 price。 |
*报警条件 | 两个指标的报警条件均选择不相等,即若A指标和B指标不相等,则发出报警。 说明 两个报警条件之间的关系为或。 |
设置监控规则 | |
*规则名称 | 该监控规则的名称,根据所选两端数据源类型和日期自动创建,支持手动修改。 |
设置监控规则-执行方式 | |
*执行方式 | 监控规则的执行方式,选择关联任务,即按照关联开发任务的调度时间执行。 |
*任务名称 | 通过任务名称关键词或ID进行搜索并选择要关联任务的名称。 说明
|
*规则强弱 | 选择弱,即如果失败仅发生报警通知,不会阻塞下游任务运行。 |
报警设置 | |
*报警渠道 | 选择邮箱+站内信。 |
*报警对象 | 选择接收报警的用户,默认当前用户,可按需修改。 |
*报警发送 | 报警发送次数,默认 1 次。 |
*发送间隔 | 报警发送的间隔时间,默认 5 分钟。 |
*报警免打扰 | 选择关闭。 |
设置完成后,单击创建规则按钮完成新建并展示在列表中。