CreateDataQualityEvaluationTask - 创建数据质量监控

更新时间:
复制 MD 格式

创建DataWorks数据质量监控。

说明

目前该API接口已标记为弃用,推荐使用替代API:dataworks-public(2024-05-18) - CreateDataQualityScan

接口说明

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

调试

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

调试

授权信息

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

请求参数

名称

类型

必填

描述

示例值

Target

object

数据质量监控对象

DatabaseType

string

表所属的数据库类型

  • maxcompute

  • hologres

  • cdh

  • analyticdb_for_mysql

  • starrocks

  • emr

  • analyticdb_for_postgresql

maxcompute

TableGuid

string

表在数据地图中的唯一 ID

odps.api_test.ods_openapi_log_d

PartitionSpec

string

分区表的分区设置

pt=$[yyyymmdd-1]

Description

string

质量监控任务描述

OpenAPI create a data quality monitoring test

Name

string

质量监控任务名称

OpenAPI create a data quality monitoring test

RuntimeConf

string

扩展配置,JSON 格式的字符串,只对 EMR 类型的数据质量监控生效。

  • queue:执行 EMR 数据质量校验时,使用的 yarn 队列,默认为本项目配置的队列

  • sqlEngine:执行 EMR 的数据校验时,采用的 SQL 引擎
    • HIVE_SQL

    • SPARK_SQL

{ "queue": "default", "sqlEngine": "SPARK_SQL" }

Trigger

object

数据质量校验任务的触发配置

Type

string

质量监控触发类型:

  • ByManual:手动触发,默认值

  • ByScheduledTaskInstance:关联调度任务触发

ByScheduledTaskInstance

TaskIds

array

调度任务 Id 列表,在 Type 为 ByScheduledTaskInstance 时有效

integer

调度任务 Id

30001

ProjectId

integer

DataWorks 工作空间的 ID。您可以登录 DataWorks 控制台,进入工作空间管理页面获取 ID。

该参数用来确定本次 API 调用操作使用的 DataWorks 工作空间。

10000

Hooks

array<object>

回调设置

object

Hook

Type

string

Hook 类型,目前只支持一种:

  • BlockTaskInstance:阻塞调度任务继续运行,数据质量监控是由调度任务触发的,那么在数据质量监控运行完成之后,会根据 Hook.Condition 来判断是否阻塞调度任务继续运行。

BlockTaskInstance

Condition

string

Hook 触发条件,当满足这个条件时,会触发 hook 动作。目前只能支持两种条件表达式:

  1. 只指定一组规则严重类型和规则校验状态,如${severity} == "High" AND ${status} == "Critical",代表执行的规则中,如果有 severity 为 High 的规则校验结果是 Critical,则满足条件

  2. 指定多组规则严重类型和规则校验状态,如(${severity} == "High" AND ${status} == "Critical") OR (${severity} == "Normal" AND ${status} == "Critical") OR (${severity} == "Normal" AND ${status} == "Error"),代表执行的规则中,如果有 severity 为 High 的规则校验结果是 Critical、或者 severity 为 Normal 的规则校验结果是 Critical、或者 severity 为 Normal 的规则校验结果是 Error,则满足条件,条件表达式中 severity 的枚举与 DataQualityRule 中 severity 的枚举一致、status 的枚举与 DataQualityResult 中的 status 一致。

(${severity} == "High" AND ${status} == "Critical") OR (${severity} == "Normal" AND ${status} == "Critical") OR (${severity} == "Normal" AND ${status} == "Error")

Notifications

object

通知订阅配置

Condition

string

通知触发条件,当满足这个条件时,会触发消息通知。目前只能支持两种条件表达式:

只指定一组规则严重类型和规则校验状态,如${severity} == "High" AND ${status} == "Critical",代表执行的规则中,如果有 severity 为 High 的规则校验结果是 Critical,则满足条件 指定多组规则严重类型和规则校验状态,如(${severity} == "High" AND ${status} == "Critical") OR (${severity} == "Normal" AND ${status} == "Critical") OR (${severity} == "Normal" AND ${status} == "Error"),代表执行的规则中,如果有 severity 为 High 的规则校验结果是 Critical、或者 severity 为 Normal 的规则校验结果是 Critical、或者 severity 为 Normal 的规则校验结果是 Error,则满足条件,条件表达式中 severity 的枚举与 DataQualityRule 中 severity 的枚举一致、status 的枚举与 DataQualityResult 中的 status 一致。

(${severity} == "High" AND ${status} == "Critical") OR (${severity} == "Normal" AND ${status} == "Critical") OR (${severity} == "Normal" AND ${status} == "Error")

Notifications

array<object>

通知设置

array<object>

通知设置

NotificationReceivers

array<object>

告警接收人设置

object

告警接收人设置

ReceiverType

string

告警接收人类型

  • WebhookUrl:自定义 webhook 地址

  • FeishuUrl:飞书告警地址

  • DingdingUrl:钉钉告警地址

  • WeixinUrl:企业微信告警地址

  • AliUid:阿里云用户 ID

DingdingUrl

Extension

string

告警发送时的额外参数设置,json 格式,支持的 key 如下:

  • atAll:发送钉钉告警时,是否需要在群里@所有人。ReceiverType 为 DingdingUrl 时生效。

{ "atAll": true }

ReceiverValues

array

告警接收人

string

接收方取值。

  • 当接收方类型为阿里云 ID 时,接收方取值为具体阿里云用户 ID。

  • 当接收方类型为 DingdingUrl 时,接收方取值为具体钉钉机器人的告警地址。

  • 当接收方类型为 WeixinUrl 时,接收方取值为具体企业微信的告警地址。

  • 当接收方类型为 FeishuUrl 时,接收方取值为具体飞书的告警地址。

  • 当接收方类型为 WebhookUrl 时,接收方取值为具体自定义 Webhook 的告警地址。

https://api.fc.aliyuncs.com/webhook

NotificationChannels

array<object>

通知方式

object

通知方式

Channels

array

通知方式

string

告警方式

  • Mail - 邮件

  • Sms - 短信

  • Phone - 电话

  • Feishu - 飞书

  • Weixin - 微信

  • Dingding - 钉钉

  • Webhook - 自定义 Webhook

Mail

DataSourceId

integer

数据源 ID,您可以调用 ListDataSources 获取数据源的 ID。

1

DataQualityRules

array<object>

数据质量监控关联的数据质量规则列表。如果设置了 DataQualityRule.Id,则把 Id 对应的规则关联到新建质量监控中;如果没有设置,则用其他字段创建一个新的规则,关联到新建的质量监控中。

array<object>

Name

string

数据质量规则名称。

OpenAPI test rules

Enabled

boolean

质量规则是否启用

true

Severity

string

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

  • Normal

  • High

High

Description

string

数据质量规则描述。

OpenAPI test rules

TemplateCode

string

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

SYSTEM:field:null_value:fixed:0

SamplingConfig

object

样本采集时,所需的参数。

Metric

string

采样的指标名称

  • Count:表行数

  • Min:字段最小值

  • Max:字段最大值

  • Avg:字段均值

  • DistinctCount:字段唯一值个数

  • DistinctPercent:字段唯一值个数与数据行数占比

  • DuplicatedCount:字段重复值个数

  • DuplicatedPercent:字段重复值个数与数据行数占比

  • TableSize:表大小

  • NullValueCount:字段为空的行数

  • NullValuePercent:字段为空的比例

  • GroupCount:按字段值聚合后每个值与对应的数据行数

  • CountNotIn:枚举值不匹配行数

  • CountDistinctNotIn:枚举值不匹配唯一值个数

  • UserDefinedSql:通过自定义 SQL 做样本采集

NullValueCount

MetricParameters

string

样本采集时,所需的参数

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

SettingConfig

string

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

odps.sql.type.system.odps2=True,odps.sql.hive.compatible=True

SamplingFilter

string

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

status != 'Succeeded'

CheckingConfig

object

样本校验设置

Type

string

阈值计算方式

  • Fixed

  • Fluctation

  • FluctationDiscreate

  • Auto

  • Average

Fixed

ReferencedSamplesFilter

string

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

{"bizdate": ["-1"]}

Thresholds

object

校验阈值设置。

Expected

object

期望的阈值设置

Operator

string

比较符

  • >

  • >=

  • <

  • <=

  • !=

  • =

=

Value

string

阈值数值。

0

Expression

string

阈值表达式。

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

  • 波动上升大于 0.01: $checkValue > 0.01

  • 波动下降大于 0.01:$checkValue < -0.01

  • 波动率绝对值:abs($checkValue) > 0.01

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

$checkValue > 0.01

Warned

object

普通警告的阈值设置

Operator

string

比较符

  • >

  • >=

  • <

  • <=

  • !=

  • =

>

Value

string

阈值数值

0.001

Expression

string

阈值表达式。

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

  • 波动上升大于 0.01: $checkValue > 0.01

  • 波动下降大于 0.01:$checkValue < -0.01

  • 波动率绝对值:abs($checkValue) > 0.01

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

$checkValue > 0.01

Critical

object

严重警告的阈值设置

Operator

string

比较符

  • >

  • >=

  • <

  • <=

  • !=

  • =

>

Value

string

阈值数值

0.01

Expression

string

阈值表达式。

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

  • 波动上升大于 0.01: $checkValue > 0.01

  • 波动下降大于 0.01:$checkValue < -0.01

  • 波动率绝对值:abs($checkValue) > 0.01

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

$checkValue > 0.01

ErrorHandlers

array<object>

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

object

质量规则校验问题处理器。

Type

string

处理器类型:

  • SaveErrorData:保留问题数据

SaveErrorData

ErrorDataFilter

string

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

SELECT * FROM ods_api_log WHERE status = 'Error';

Id

integer

规则 ID。

2176

返回参数

名称

类型

描述

示例值

object

Schema of Response

RequestId

string

Id of the request

2d9ce-38ef-4923-baf6-391a7e656

Id

integer

新建的数据质量监控 ID。

10001

示例

正常返回示例

JSON格式

{
  "RequestId": "2d9ce-38ef-4923-baf6-391a7e656",
  "Id": 10001
}

错误码

HTTP status code

错误码

错误信息

描述

400 IdempotentParameterMismatch The request uses the same client token as a previous, but non-identical request. Do not reuse a client token with different requests, unless the requests are identical.

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

变更历史

更多信息,参考变更详情