如果系统提供的指标类型无法满足需求,您可以使用自定义指标规则。
定义自定义指标规则
在assertion
中使用一个自定义的指标名称,同时在规则配置中,添加这个自定义指标名称的配置,在配置值中给出自定义指标的SQL查询语句。示例如下:
{
"datasets": [
{
"type": "Table",
"tables": [
"tb_d_spec_demo"
],
"filter": "dt='$[yyyymmdd]' AND hh='$[hh24-1/24]'",
"dataSource": {
"name": "odps_first",
"envType": "Dev"
}
}
],
"rules": [
{
"assertion": "avg_order_span between 5 and 10",
"avg_order_span": {
"query": "SELECT COUNT(safety_stock_level - days_to_manufacture) FROM dim_product;"
}
}
]
}
保留问题数据
可以为自定义指标规则添加保留问题数据的设置,除了开启collectFailedRows
外,还需要添加failedRowsQuery
正常执行问题数据保留动作。
{
"datasets": [
{
"type": "Table",
"tables": [
"tb_d_spec_demo"
],
"filter": "dt='$[yyyymmdd]' AND hh='$[hh24-1/24]'",
"dataSource": {
"name": "odps_first",
"envType": "Dev"
}
}
],
"rules": [
{
"assertion": "id_for_belgium between 5 and 10",
"id_for_belgium": {
"query": "SELECT count(*) FROM product_b;"
},
"collectFailedRows": true,
"failedRowsQuery": "SELECT id FROM product_b WHERE id IS NULL"
}
],
}
该文章对您有帮助吗?