跳到主要内容

及时性检查

使用方法

  • 点击创建规则作业,选择数据质量作业
  • 进入作业页面选择 及时性检查 规则
  • 选择要检查的数据源信息

参数介绍

Options

nametyperequireddefault value
databasestringyes-
tablestringyes-
columnstringyes-
begin_timestringyes-
deadline_timestringyes-
datetime_formatstringyes-

database [string]

源表数据库名

table [string]

源表数据库中的表名

column [string]

要检查的列

begin_time [string]

开始时间

deadline_time [string]

结束时间

datetime_format [string]

日期格式

配置文件例子

{
"metricType": "column_avg",
"metricParameter": {
"database": "datavines",
"table": "dv_catalog_entity_instance",
"column": "update_time",
"begin_time":"2023-10-01 08:00:00",
"deadline_time":"2023-10-01 09:00:00",
"datetime_format":"yyyy-MM-dd HH:mm:ss"
}
}

检查过程中自动生成的 SQL 语句

检查过程会用到的一些自动生成的参数,用于区分各个检查规则。

  • uniqueKey
    • 会根据每个规则的配置信息生成一个唯一键值
  • invalidate_items_table
    • 会创建一个视图用于存储中间表数据,中间表数据一般为命中规则的数据,即为错误数据,该视图的名字生成规则为 invalidate_items_uniqueKey

中间表 invalidate_items_uniqueKey

select ${column} from ${table} where (DATE_FORMAT(${column}, '${datetime_format}') <= DATE_FORMAT('${deadline_time}', '${datetime_format}') ) AND (DATE_FORMAT(${column}, '${datetime_format}') >= DATE_FORMAT('${begin_time}', '${datetime_format}')) and ${filter}

计算实际值的 SQL,输出的实际值是 列值在时间范围内 的列的行数

select count(1) as actual_value_"+ uniqueKey +" from ${invalidate_items_table}

使用案例

场景

...

思路

...

步骤

...