全部产品
Search
文档中心

大数据开发治理平台 DataWorks:GetDataQualityRule - 查询质量规则详情

更新时间:Dec 09, 2024

查询质量规则详情

接口说明

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

调试

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

授权信息

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

请求参数

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

规则 ID

19715

返回参数

名称类型描述示例值
object

返回值

RequestIdstring

API 请求 ID

691CA452-D37A-4ED0-9441
DataQualityRuleobject

规则详情

Idlong

规则 ID

16033
Namestring

规则名称

表不能为空
TenantIdlong

DataWorks 租户 ID

228248921215042
ProjectIdlong

DataWorks 工作空间 ID

1948
Enabledboolean

规则是否启用

true
Severitystring

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

  • Normal
  • High
High
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 做样本采集
Max
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

阈值表达式

$checkValue <= 0.01
Warnedobject

普通警告的阈值设置

Operatorstring

比较符

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

阈值数值

100.0
Expressionstring

阈值表达式

$checkValue > 0.01
Criticalobject

严重警告的阈值设置

Operatorstring

比较符

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

阈值数值

100.0
Expressionstring

阈值表达式

$checkValue > 0.05
ErrorHandlersarray<object>

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

ErrorHandlerobject

质量规则校验问题处理器

Typestring

处理器类型:

  • SaveErrorData
SaveErrorData
ErrorDataFilterstring

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

SELECT * FROM tb_api_log WHERE id IS NULL

示例

正常返回示例

JSON格式

{
  "RequestId": "691CA452-D37A-4ED0-9441\n",
  "DataQualityRule": {
    "Id": 16033,
    "Name": "表不能为空\n",
    "TenantId": 228248921215042,
    "ProjectId": 1948,
    "Enabled": true,
    "Severity": "High",
    "Description": "this is a odps _sql task\n",
    "Target": {
      "Type": "Table",
      "DatabaseType": "maxcompute",
      "TableGuid": "odps.unit_test.tb_unit_test\n",
      "PartitionSpec": "ds=$[yyyymmdd-1]\n"
    },
    "TemplateCode": "system::user_defined\n",
    "SamplingConfig": {
      "Metric": "Max",
      "MetricParameters": "{ \"Columns\": [ \"id\", \"name\" ] , \"SQL\": \"select count(1) from table;\"}",
      "SettingConfig": "SET odps.sql.udf.timeout=600s; \nSET odps.sql.python.version=cp27;\n",
      "SamplingFilter": "id IS NULL\n"
    },
    "CheckingConfig": {
      "Type": "Fixed",
      "ReferencedSamplesFilter": "{ \"bizdate\": [ \"-1\", \"-7\", \"-1m\" ] }\n",
      "Thresholds": {
        "Expected": {
          "Operator": ">",
          "Value": "100.0",
          "Expression": "$checkValue <= 0.01"
        },
        "Warned": {
          "Operator": ">",
          "Value": "100.0",
          "Expression": "$checkValue > 0.01"
        },
        "Critical": {
          "Operator": ">",
          "Value": "100.0",
          "Expression": "$checkValue > 0.05"
        }
      }
    },
    "ErrorHandlers": [
      {
        "Type": "SaveErrorData\n",
        "ErrorDataFilter": "SELECT * FROM tb_api_log WHERE id IS NULL\n"
      }
    ]
  }
}

错误码

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

变更历史

变更时间变更内容概要操作
暂无变更历史

规则模版 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