CreateDataQualityRule - 创建质量规则

创建质量规则

接口说明

需要购买 DataWorks 基础版及以上版本才能使用

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

当前API暂无授权信息透出。

请求参数

名称类型必填描述示例值
Namestring

规则名称

表不能为空
ProjectIdlong

DataWorks 工作空间 ID

10726
Enabledboolean

质量规则是否启用

true
Severitystring

规则对于业务的等级(对应页面上的强弱规则),可选的枚举值:

  • Normal
  • High
Normal
Descriptionstring

规则描述信息,最长 500 个字符

this is a odps _sql task
Targetobject

规则所监控的对象

Typestring

监控对象类型

  • Table
Table
DatabaseTypestring

表类型的数据集,表所属的数据库类型

  • maxcompute
  • emr
  • cdh
  • hologres
  • analyticdb_for_postgresql
  • analyticdb_for_mysql
  • starrocks
maxcompute
TableGuidstring

规则所作用的表在数据地图中的唯一 ID

odps.unit_test.tb_unit_test
PartitionSpecstring

分区表的分区设置

ds=$[yyyymmdd-1]
TemplateCodestring

规则所引用的规则模板唯一标识

system::user_defined
SamplingConfigobject

样本采集所需的设置

Metricstring

采样的指标名称,使用模版时可不设置

  • Count:表行数
  • Min:字段最小值
  • Max:字段最大值
  • Avg:字段均值
  • DistinctCount:字段唯一值个数
  • DistinctPercent:字段唯一值个数与数据行数占比
  • DuplicatedCount:字段重复值个数
  • DuplicatedPercent:字段重复值个数与数据行数占比
  • TableSize:表大小
  • NullValueCount:字段为空的行数
  • NullValuePercent:字段为空的比例
  • GroupCount:按字段值聚合后每个值与对应的数据行数
  • CountNotIn:枚举值不匹配行数
  • CountDistinctNotIn:枚举值不匹配唯一值个数
  • UserDefinedSql:通过自定义 SQL 做样本采集
Count
MetricParametersstring

样本采集时,所需的参数

{ "Columns": [ "id", "name" ] , "SQL": "select count(1) from table;"}
SettingConfigstring

具体执行采样语句前,插入执行的一些运行时参数设置语句,最长 1000 个字符。目前只支持 MaxCompute

SET odps.sql.udf.timeout=600s; SET odps.sql.python.version=cp27;
SamplingFilterstring

采样时,对不关注的数据进行二次过滤的条件,最多 16777215 个字符

id IS NULL
CheckingConfigobject

样本校验设置

Typestring

阈值计算方式,使用模版时可不设置

  • Fixed
  • Fluctation
  • FluctationDiscreate
  • Auto
  • Average
  • Variance
Fixed
ReferencedSamplesFilterstring

有些类型的阈值需要查询出一些参考样本,然后对参考样本的值进行汇总得出进行比较的阈值,这里使用一个表达式来表示参考样本的查询方式

{ "bizdate": [ "-1", "-7", "-1m" ] }
Thresholdsobject

阈值设置

Expectedobject

期望的阈值设置

Operatorstring

比较符

  • >
  • >=
  • <
  • <=
  • !=
  • =
>
Valuestring

阈值数值

100.0
Expressionstring

阈值表达式。

波动率类型规则必须使用表达式方式表示波动阈值。如:

  • 波动上升大于 0.01: $checkValue > 0.01
  • 波动下降大于 0.01:$checkValue < -0.01
  • 波动率绝对值:abs($checkValue) > 0.01

固定值类型规则也可以使用表达式方式配置阈值,如果同时配置,表达式优先级高于 Operator 和 Value

$checkValue <= 0.01
Warnedobject

普通警告的阈值设置

Operatorstring

比较符

  • >
  • >=
  • <
  • <=
  • !=
  • =
>
Valuestring

阈值数值

100.0
Expressionstring

阈值表达式。

波动率类型规则必须使用表达式方式表示波动阈值。如:

  • 波动上升大于 0.01: $checkValue > 0.01
  • 波动下降大于 0.01:$checkValue < -0.01
  • 波动率绝对值:abs($checkValue) > 0.01

固定值类型规则也可以使用表达式方式配置阈值,如果同时配置,表达式优先级高于 Operator 和 Value

$checkValue > 0.01
Criticalobject

严重警告的阈值设置

Operatorstring

比较符

  • >
  • >=
  • <
  • <=
  • !=
  • =
>
Valuestring

阈值数值

100.0
Expressionstring

阈值表达式。

波动率类型规则必须使用表达式方式表示波动阈值。如:

  • 波动上升大于 0.01: $checkValue > 0.01
  • 波动下降大于 0.01:$checkValue < -0.01
  • 波动率绝对值:abs($checkValue) > 0.01

固定值类型规则也可以使用表达式方式配置阈值,如果同时配置,表达式优先级高于 Operator 和 Value

$checkValue > 0.05
ErrorHandlersarray<object>

质量规则校验问题处理器列表

object

质量规则校验问题处理器

Typestring

处理器类型:

  • SaveErrorData
SaveErrorData
ErrorDataFilterstring

如果是自定义 SQL 规则,需要用户指定 SQL 来过滤问题数据

SELECT * FROM tb_api_log WHERE id IS NULL

返回参数

名称类型描述示例值
object

返回值

RequestIdstring

API 请求 ID

691CA452-D37A-4ED0-9441
Idlong

规则 ID。

19715

示例

正常返回示例

JSON格式

{
  "RequestId": "691CA452-D37A-4ED0-9441\n",
  "Id": 19715
}

错误码

访问错误中心查看更多错误码。

规则模版 Code 列表:

  • 自定义 SQL:SYSTEM:user_defined_sql

  • 表行数大于 0:SYSTEM:table:table_count:fixed:0

  • 表行数,固定值:SYSTEM:table:table_count:fixed

  • 表行数,1 天差值:SYSTEM:table:table_count_delta:fixed:1_bizdate

  • 表行数,上周期差值:SYSTEM:table:table_count_delta:fixed:latest_bizdate

  • 表行数,上周期波动率:SYSTEM:table:table_count:cycle:latest_bizdate

  • 表行数,7 天平均值波动率:SYSTEM:table:table_count:avg:7_bizdate

  • 表行数,30 天平均值波动率:SYSTEM:table:table_count:avg:1m_bizdate

  • 表行数,1 天波动率:SYSTEM:table:table_count:flux:1_bizdate

  • 表行数,7 天波动率:SYSTEM:table:table_count:flux:7_bizdate

  • 表行数,30 天波动率:SYSTEM:table:table_count:flux:1m_bizdate

  • 表行数,1,7,30 天波动率:SYSTEM:table:table_count:flux:1_7_1m_bizdate

  • 表行数,1,7,30 天,本月 1 号,波动率:SYSTEM:table:table_count:flux:1_7_1m_1st_bizdate

  • 表行数,自定义范围:SYSTEM:table:count

  • 条件匹配占比,自定义范围:SYSTEM:table:count_percent

  • 平均值,1 天波动率:SYSTEM:field:avg:cycle:1_bizdate

  • 平均值,1、7、30 天波动率:SYSTEM:field:avg:flux:1_7_1m_bizdate

  • 平均值,自定义范围:SYSTEM:field:avg

  • 汇总值,1 天波动率:SYSTEM:field:sum:cycle:1_bizdate

  • 汇总值,上周期波动率:SYSTEM:field:sum:cycle:latest_bizdate

  • 汇总值,1、7、30 天波动率:SYSTEM:field:sum:flux:1_7_1m_bizdate

  • 汇总值,自定义范围:SYSTEM:field:sum

  • 最小值,1 天波动率:SYSTEM:field:min:cycle:1_bizdate

  • 最小值,上周期波动率:SYSTEM:field:min:cycle:latest_bizdate

  • 最小值,1、7、30 天波动率:SYSTEM:field:min:flux:1_7_1m_bizdate

  • 最小值,自定义范围:SYSTEM:field:min

  • 最大值,1 天波动率:SYSTEM:field:max:cycle:1_bizdate

  • 最大值,上周期波动率:SYSTEM:field:max:cycle:latest_bizdate

  • 最大值,1、7、30 天波动率:SYSTEM:field:max:flux:1_7_1m_bizdate

  • 最大值,自定义范围:SYSTEM:field:max

  • 空值记录数为 0:SYSTEM:field:null_value:fixed:0

  • 空值个数,固定值:SYSTEM:field:null_value:fixed

  • 空值个数/总行数,固定值:SYSTEM:field:null_value_percent:fixed

  • 字段重复值为 0:SYSTEM:field:duplicated_count:fixed:0

  • 重复值个数/总行数,固定值:SYSTEM:field:duplicated_percent:fixed

  • 重复值个数,固定值:YSTEM:field:duplicated_count:fixed

  • 多字段重复值为 0:SYSTEM:fields:duplicated_count:fixed:0

  • 离散值(状态值),固定值:SYSTEM:field:all_discrete_count:fixed

  • 离散值(分组个数及状态值),1、7、30 天波动率:SYSTEM:field:all_discrete_metrics:fluxdiscrete:1_7_1m_bizdate

  • 离散值(分组个数),固定值:SYSTEM:field:discrete_group_count:fixed

  • 离散值(分组个数),1 天波动率:SYSTEM:field:discrete_group_count:cycle:latest_bizdate

  • 表大小,固定值:SYSTEM:table:table_size:fixed

  • 表大小,上周期差值:SYSTEM:table:table_size_delta:fixed:latest_bizdate

  • 表大小,相比 1 天前差值(字节):SYSTEM:table:table_size_delta:fixed:1_bizdate

  • 表大小,1 天波动率:SYSTEM:table:table_size:flux:1_bizdate

  • 表大小,7 天波动率:SYSTEM:table:table_size:flux:7_bizdate

  • 表大小,30 天波动率:SYSTEM:table:table_size:flux:1m_bizdate

  • 唯一值个数,固定值:SYSTEM:field:count_distinct:fixed

  • 唯一值个数,1、7、30 天波动率:SYSTEM:field:count_distinct:flux:1_7_1m_bizdate

  • 唯一值个数/总行数,固定值:SYSTEM:field:count_distinct_percent:fixed

  • 表行数,动态阈值:SYSTEM:table:table_count:dynamic_threshold

  • 汇总值,动态阈值:SYSTEM:field:sum:dynamic_threshold

  • 平均值,动态阈值:SYSTEM:field:avg:dynamic_threshold

  • 最大值,动态阈值:SYSTEM:field:max:dynamic_threshold

  • 最小值,动态阈值:SYSTEM:field:min:dynamic_threshold

  • 唯一值率动态阈值:SYSTEM:table:table_size:dynamic_threshold

  • 唯一值个数,动态阈值:SYSTEM:table:distinct_count:dynamic_threshold

  • 离散值(分组个数),动态阈值:SYSTEM:field:avg:dynamic_threshold

  • 离散值(状态值),动态阈值:SYSTEM:field:sum:dynamic_threshold

  • 离散值(分组个数),动态阈值:SYSTEM:field:discrete_group_count:dynamic_threshold

  • 离散值(状态值),动态阈值:SYSTEM:field:discrete_value_count:dynamic_threshold