- 最新动态
- 功能总览
- 产品介绍
- 数据治理方法论
- 准备工作
- 快速入门
-
用户指南
- DataArts Studio使用流程
- 购买并配置DataArts Studio
- 授权用户使用DataArts Studio
-
管理中心
- DataArts Studio支持的数据源
- 创建DataArts Studio数据连接
-
配置DataArts Studio数据连接参数
- DWS数据连接参数说明
- DLI数据连接参数说明
- MRS Hive数据连接参数说明
- Apache Hive数据连接参数说明
- MRS HBase数据连接参数说明
- MRS Kafka数据连接参数说明
- MRS Spark数据连接参数说明
- MRS Clickhouse数据连接参数说明
- MRS Hetu数据连接参数说明
- MRS Impala数据连接参数说明
- MRS Ranger数据连接参数说明
- MRS Presto数据连接参数说明
- Doris数据连接参数说明
- OpenSource ClickHouse数据连接参数说明
- RDS数据连接参数说明
- ORACLE数据连接参数说明
- DIS数据连接参数说明
- 主机连接参数说明
- OBS数据连接参数说明
- Apache HDFS数据连接参数说明
- MRS Hudi数据连接参数说明
- Elasticsearch数据连接参数说明
- Rest Client数据连接参数说明
- DMS Kafka数据连接参数说明
- MongoDB数据连接参数说明
- SFTP/FTP数据连接参数说明
- GBase数据连接参数说明
- Redis数据连接参数说明
- SAP HANA数据连接参数说明
- LTS数据连接参数说明
- 配置DataArts Studio资源迁移
- 配置DataArts Studio企业模式环境隔离
- 管理中心典型场景教程
-
数据集成(CDM作业)
- 数据集成概述
- 约束与限制
- 支持的数据源
- 创建并管理CDM集群
-
在CDM集群中创建连接
- 创建CDM与数据源之间的连接
-
配置连接参数
- OBS连接参数说明
- PostgreSQL/SQLServer连接参数说明
- 数据仓库服务(DWS)连接参数说明
- 云数据库MySQL/MySQL数据库连接参数说明
- Oracle数据库连接参数说明
- DLI连接参数说明
- Hive连接参数说明
- HBase连接参数说明
- HDFS连接参数说明
- FTP/SFTP连接参数说明
- Redis连接参数说明
- DDS连接参数说明
- CloudTable连接参数说明
- MongoDB连接参数说明
- Cassandra连接参数说明
- DIS连接参数说明
- Kafka连接参数说明
- DMS Kafka连接参数说明
- 云搜索服务(CSS)连接参数说明
- Elasticsearch连接参数说明
- 达梦数据库 DM连接参数说明
- SAP HANA连接参数说明
- 分库连接参数说明
- MRS Hudi连接参数说明
- MRS ClickHouse连接参数说明
- 神通(ST)连接参数说明
- CloudTable OpenTSDB连接参数说明
- GBASE连接参数说明
- YASHAN连接参数说明
- 上传CDM连接驱动
- 新建Hadoop集群配置
-
在CDM集群中创建作业
- 新建表/文件迁移作业
- 新建整库迁移作业
-
配置CDM作业源端参数
- 配置OBS源端参数
- 配置HDFS源端参数
- 配置HBase/CloudTable源端参数
- 配置Hive源端参数
- 配置DLI源端参数
- 配置FTP/SFTP源端参数
- 配置HTTP源端参数
- 配置PostgreSQL/SQL Server源端参数
- 配置DWS源端参数
- 配置SAP HANA源端参数
- 配置MySQL源端参数
- 配置Oracle源端参数
- 配置分库源端参数
- 配置MongoDB/DDS源端参数
- 配置Redis源端参数
- 配置DIS源端参数
- 配置Kafka/DMS Kafka源端参数
- 配置Elasticsearch/云搜索服务源端参数
- 配置OpenTSDB源端参数
- 配置MRS Hudi源端参数
- 配置MRS ClickHouse源端参数
- 配置神通(ST)源端参数
- 配置达梦数据库 DM源端参数
- 配置YASHAN源端参数
- 配置CDM作业目的端参数
- 配置CDM作业字段映射
- 配置CDM作业定时任务
- CDM作业配置管理
- 管理单个CDM作业
- 批量管理CDM作业
- 时间宏变量使用解析
- 优化迁移性能
- 关键操作指导
- 使用教程
- 常见错误码参考
-
数据集成(离线作业)
- 离线作业概述
- 支持的数据源
- 新建离线处理集成作业
- 配置离线处理集成作业
-
配置作业源端参数
- 配置MySQL源端参数
- 配置Hive源端参数
- 配置HDFS源端参数
- 配置Hudi源端参数
- 配置PostgreSQL源端参数
- 配置SQLServer源端参数
- 配置Oracle源端参数
- 配置DLI源端参数
- 配置OBS源端参数
- 配置SAP HANA源端参数
- 配置Kafka源端参数
- 配置Rest Client源端参数
- 配置DWS源端参数
- 配置FTP/SFTP源端参数
- 配置Doris源端参数
- 配置HBase 源端参数
- 配置ClickHouse源端参数
- 配置ElasticSearch源端参数
- 配置MongoDB源端参数
- 配置RestApi源端参数
- 配置GBase源端参数
- 配置Redis源端参数
- 配置LTS源端参数
- 配置作业目的端参数
- 字段转换器配置指导
- 新增字段操作指导
- 数据集成(实时作业)
- 数据架构
- 数据指标
-
数据开发
- 数据开发概述
- 数据管理
- 脚本开发
- 作业开发
- 集成作业开发
- 解决方案
- 运行历史
- 运维调度
- 配置管理
- 审批中心
- 下载中心
-
节点参考
- 节点概述
- 节点数据血缘
- CDM Job
- Data Migration
- DIS Stream
- DIS Dump
- DIS Client
- Rest Client
- Import GES
- MRS Kafka
- Kafka Client
- ROMA FDI Job
- DLI Flink Job
- DLI SQL
- DLI Spark
- DWS SQL
- MRS Spark SQL
- MRS Hive SQL
- MRS Presto SQL
- MRS Spark
- MRS Spark Python
- MRS ClickHouse
- MRS HetuEngine
- MRS Impala SQL
- MRS Flink Job
- MRS MapReduce
- CSS
- Shell
- RDS SQL
- ETL Job
- Python
- DORIS SQL
- GBase SQL
- ModelArts Train
- OCR
- Create OBS
- Delete OBS
- OBS Manager
- Open/Close Resource
- Data Quality Monitor
- Sub Job
- For Each
- SMN
- Dummy
- EL表达式参考
- 简易变量集参考
- 使用教程
- 数据质量
- 数据目录
- 数据安全
- 数据服务
- 审计日志
- 最佳实践
-
API参考
- 使用前必读
- API概览
- 如何调用API
- 数据集成API
- 数据开发API(V1)
- 数据开发API(V2)
- 管理中心API
- 数据架构API
- 数据质量API
- 数据目录API
- 数据服务API
- 数据安全API
- 应用示例
- 附录
- SDK参考
-
常见问题
-
咨询与计费
- 区域和可用区如何选择?
- 数据库、数据仓库、数据湖与华为智能数据湖方案是什么,有哪些区别和联系?
- DataArts Studio和沃土是什么关系?
- DataArts Studio和ROMA有什么差异?
- DataArts Studio是否支持私有化部署到本地或私有云?
- 如何在IAM中创建细粒度权限策略?
- 如何实现用户的工作空间隔离,使其无法查看其他未授权工作空间?
- 用户已添加权限,还是无法查看工作空间?
- IAM用户操作时报错“无xx权限”怎么办?
- DataArts Studio的工作空间可以删除吗?
- 可以免费试用DataArts Studio吗?
- 免费试用即将到期,如何续费?
- 实例试用/购买成功后,可以转移到其他账号下吗?
- DataArts Studio是否支持版本升级?
- DataArts Studio是否支持版本降级?
- 如何查看DataArts Studio的版本?
- 购买DataArts Studio实例时为什么选不到指定的IAM项目?
- DataArts Studio的会话超时时间是多少,是否支持修改?
- 套餐包到期未续订或按需资源欠费时,我的数据会保留吗?
- 如何查看套餐包的剩余时长?
- DataArts Studio实例中的CDM没有计费是什么原因?
- 为什么会提示每日执行节点个数超过上限,应该怎么处理?
- 管理中心
-
数据集成(CDM作业)
- CDM与其他数据迁移服务有什么区别,如何选择?
- CDM有哪些优势?
- CDM有哪些安全防护?
- 如何降低CDM使用成本?
- CDM未使用数据传输功能时,是否会计费?
- 已购买包年包月的CDM套餐包,为什么还会产生按需计费的费用?
- 如何查看套餐包的剩余时长?
- CDM可以跨账户使用吗?
- CDM集群是否支持升级操作?
- CDM迁移性能如何?
- CDM不同集群规格对应并发的作业数是多少?
- 是否支持增量迁移?
- 是否支持字段转换?
- Hadoop类型的数据源进行数据迁移时,建议使用的组件版本有哪些?
- 数据源为Hive时支持哪些数据格式?
- 是否支持同步作业到其他集群?
- 是否支持批量创建作业?
- 是否支持批量调度作业?
- 如何备份CDM作业?
- 如何解决HANA集群只有部分节点和CDM集群网络互通?
- 如何使用Java调用CDM的Rest API创建数据迁移作业?
- 如何将云下内网或第三方云上的私网与CDM连通?
- CDM是否支持参数或者变量?
- CDM迁移作业的抽取并发数应该如何设置?
- CDM是否支持动态数据实时迁移功能?
- CDM是否支持集群关机功能?
- 如何使用表达式方式获取当前时间?
- 日志提示解析日期格式失败时怎么处理?
- 字段映射界面无法显示所有列怎么处理?
- CDM迁移数据到DWS时如何选取分布列?
- 迁移到DWS时出现value too long for type character varying怎么处理?
- OBS导入数据到SQL Server时出现Unable to execute the SQL statement怎么处理?
- 获取集群列表为空/没有权限访问/操作时报当前策略不允许执行?
- Oracle迁移到DWS报错ORA-01555
- MongoDB连接迁移失败时如何处理?
- Hive迁移作业长时间卡顿怎么办?
- 使用CDM迁移数据由于字段类型映射不匹配导致报错怎么处理?
- MySQL迁移时报错“JDBC连接超时”怎么办?
- 创建了Hive到DWS类型的连接,进行CDM传输任务失败时如何处理?
- 如何使用CDM服务将MySQL的数据导出成SQL文件,然后上传到OBS桶?
- 如何处理CDM从OBS迁移数据到DLI出现迁移中断失败的问题?
- 如何处理CDM连接器报错“配置项 [linkConfig.iamAuth] 不存在”?
- 报错“配置项[linkConfig.createBackendLinks]不存在”或“配置项 [throttlingConfig.concurrentSubJobs] 不存在怎么办”?
- 新建MRS Hive连接时,提示:CORE_0031:Connect time out. (Cdm.0523) 怎么解决?
- 迁移时已选择表不存在时自动创表,提示“CDM not support auto create empty table with no column”怎么处理?
- 创建Oracle关系型数据库迁移作业时,无法获取模式名怎么处理?
- MySQL迁移时报错:invalid input syntax for integer: "true"
- 数据集成(实时作业)
- 数据架构
-
数据开发
- 数据开发可以创建多少个作业,作业中的节点数是否有限制?
- DataArts Studio支持自定义的Python脚本吗?
- 作业关联的CDM集群删除后,如何快速修复?
- 作业的计划时间和开始时间相差大,是什么原因?
- 相互依赖的几个作业,调度过程中某个作业执行失败,是否会影响后续作业?这时该如何处理?
- 通过DataArts Studio调度大数据服务时需要注意什么?
- 环境变量、作业参数、脚本参数有什么区别和联系?
- 打不开作业日志,返回404报错?
- 配置委托时获取委托列表失败如何处理?
- 数据开发创建数据连接,为什么选不到指定的周边资源?
- 配置了SMN通知,却收不到作业失败告警通知?
- 作业配置了周期调度,但是实例监控没有作业运行调度记录?
- Hive SQL和Spark SQL脚本执行失败,界面只显示执行失败,没有显示具体的错误原因?
- 数据开发节点运行中报TOKEN不合法?
- 作业开发时,测试运行后如何查看运行日志?
- 月周期的作业依赖天周期的作业,为什么天周期作业还未跑完,月周期的作业已经开始运行?
- 执行DLI脚本,报Invalid authentication怎么办?
- 创建数据连接时,在代理模式下为什么选不到需要的CDM集群?
- 作业配置了每日调度,但是实例没有作业运行调度记录?
- 查看作业日志,但是日志中没有内容?
- 创建了2个作业,但是为什么无法建立依赖关系?
- DataArts Studio执行调度时,报错提示“作业没有可以提交的版本”怎么办?
- DataArts Studio执行调度时,报错提示“作业中节点XXX关联的脚本没有提交的版本”怎么办?
- 提交调度后的作业执行失败,报depend job [XXX] is not running or pause怎么办?
- 如何创建数据库和数据表,数据库对应的是不是数据连接?
- 为什么执行完HIVE任务什么结果都不显示?
- 在作业监控页面里的“上次实例状态”只有运行成功、运行失败,这是为什么?
- 如何创建通知配置对全量作业都进行结果监控?
- 数据开发的并行执行节点数是多少?
- DataArts Studio是否支持修改时区?
- CDM作业改名后,在数据开发中如何同步?
- 执行RDS SQL,报错hll不存在,在DataArts Studio可以执行成功?
- 创建DWS数据连接时报错提示“The account has been locaked”怎么处理?
- 作业实例取消了,日志提示“The node start execute failed, so the current node status is set to cancel.”怎么处理?
- 调用数据开发接口报错“Workspace does not exists”怎么处理?
- Postman调用接口返回结果正常,为什么测试环境调用接口的URL参数不生效?
- 执行Python脚本报错:Agent need to be updated?
- 节点状态为成功,为什么日志显示运行失败?
- 调用数据开发API报错Unknown Exception?
- 调用创建资源的API报错“资源名不合法”是什么原因?
- 补数据的作业实例都是成功的,为什么补数据任务失败了?
- DWS数据连接可视化建表,报错提示“表已存在”,但是展开数据连接看不到该表?
- 调度MRS spark作业报错“The throttling threshold has been reached: policy user over ratelimit,limit:60,time:1 minute.”怎么处理?
- 执行Python脚本,报错“UnicodeEncodeError :‘ascii' codec cant encode characters in position 63-64 : ordinal not in range ( 128 )”怎么处理?
- 查看日志时,系统提示“OBS日志文件不存在,请检查文件是否被删除或者没有OBS写入权限。”怎么办?
- Shell/Python节点执行失败,后台报错session is down
- 请求头中参数值长度超过512个字符时,何如处理?
- 执行DWS SQL脚本时,提示id不存在,如何处理?
- 如何查看CDM作业被哪些作业进行调用?
- 执行SQL语句失败,系统提示“Failed to create ThriftService instance, please check the cluster has available resources and check YARN or Spark driver's logs for further information”,如何处理?
- 使用python调用执行脚本的api报错:The request parameter invalid,如何处理?
- 在ECS上调试好的shell脚本,在DLF中shell脚本执行异常,如何处理?
- DataArts Studio调度CDM任务时报错Given transaction id [xxxx] is invalid,如何处理?
- 在数据开发子模块中,doris SQL作业执行失败,是什么原因?
- 在数据开发子模块中,新建的DLI SQL脚本默认队列是一个已删除的队列,怎么处理?
- 数据开发中的事件驱动是否支持线下kafka?
- 数据质量
- 数据目录
- 数据安全
- 数据服务
-
咨询与计费
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
新建数据质量规则
数据质量支持对离线数据的监控,质量规则是数据质量的核心。DataArts Studio系统内置的模板规则共计34种,分为库级规则、表级规则、字段级规则和跨字段级规则、跨源级规则等规则类型,如表1所示。
规则类型 |
维度 |
模板名称 |
适用引擎 |
说明 |
---|---|---|---|---|
库级 |
完整性 |
数据库空值扫描 |
DLI、DWS、HIVE、SparkSQL、CLICKHOUSE、GBASE、ORACLE、RDS、DORIS |
计算数据库每个表中每个字段的空值字段行数,结果以字段为维度呈现。 |
表级 |
准确性 |
表行数 |
DLI、DWS、HIVE、SparkSQL、CLICKHOUSE、GBASE、HETUENGINE、ORACLE、RDS、DORIS |
计算数据表的总行数。 |
完整性 |
数据表空值扫描 |
DLI、DWS、HIVE、SparkSQL、CLICKHOUSE、GBASE、HETUENGINE、ORACLE、RDS、DORIS |
计算数据表中每个字段的空值行数,结果以字段为维度呈现。 |
|
有效性 |
近1天波动率 |
DLI、DWS、HIVE、SparkSQL、CLICKHOUSE、HETUENGINE、ORACLE、RDS、DORIS |
计算数据表的单表大小、字段分组、相关波动率近一天的规则波动监控。 |
|
近7天波动率 |
计算数据表的单表大小、字段分组、相关波动率近七天的规则波动监控。 |
|||
近30天波动率 |
计算数据表的单表大小、字段分组、相关波动率近三十天的规则波动监控。 |
|||
字段级 |
唯一性 |
字段唯一值 |
DLI、DWS、HIVE、SparkSQL、CLICKHOUSE、GBASE、HETUENGINE、ORACLE、RDS、DORIS |
计算数据表中指定字段的唯一值行数。 |
字段重复值 |
计算数据表中指定字段的重复值行数(当有多个不同的重复值时,以所有重复值个数的和作为该字段的重复值行数)。 |
|||
多字段唯一性校验 |
HIVE、SparkSQL、DLI、DWS、GBASE、HETUENGINE |
校验数据表中多个字段的组合是否唯一,最多支持10个字段的组合。 |
||
多字段唯一性校验忽略Null |
校验数据表中多个字段的组合是否唯一,最多支持10个字段的组合,Null值被统计在有效行中。 |
|||
完整性 |
字段空值 |
DLI、DWS、HIVE、SparkSQL、CLICKHOUSE、GBASE、HETUENGINE、ORACLE、RDS、DORIS |
计算数据表中指定字段的空值行数。 |
|
准确性 |
字段平均值 |
DLI、DWS、HIVE、SparkSQL、CLICKHOUSE、GBASE、HETUENGINE、ORACLE、RDS、DORIS |
计算数据表中指定字段的平均值。 |
|
字段汇总值 |
计算数据表中指定字段的汇总值。 |
|||
字段最大值 |
计算数据表中指定字段的最大值。 |
|||
字段最小值 |
计算数据表中指定字段的最小值。 |
|||
有效性 |
身份证校验 |
DLI、DWS、HIVE、SparkSQL、CLICKHOUSE、GBASE、HETUENGINE、ORACLE、RDS、DORIS |
通过内置的正则表达式规则,校验数据表中指定字段的合法情况(如果数据为空,则视为非法字段)。 |
|
邮箱校验 |
通过内置的正则表达式规则,校验数据表中指定字段的合法情况。 |
|||
正则表达式校验 |
通过输入自定义的正则表达式,校验数据表中指定字段的合法情况。 |
|||
IP地址校验 |
通过内置的正则表达式规则,校验数据表中指定字段的合法情况。 |
|||
电话格式校验 |
通过内置的正则表达式规则,校验数据表中指定字段的合法情况。 |
|||
邮编格式校验 |
通过内置的正则表达式规则,校验数据表中指定字段的合法情况。 |
|||
日期格式校验 |
通过内置的正则表达式规则,校验数据表中指定字段的合法情况。 |
|||
合法性校验 |
通过输入自定义的正则表达式,校验数据表中指定字段的合法情况。 |
|||
枚举值校验 |
通过输入自定义的枚举值,校验数据表中指定字段的合法情况。 |
|||
字段长度校验 |
DLI、DWS、GBASE、HETUENGINE |
通过输入字段长度范围,校验表中字段是否在允许范围内。 |
||
字段值范围校验 |
通过输入字段值范围,校验表中字段值是否在允许范围内。 |
|||
字段时间校验 |
通过输入字段时间范围,校验表中字段时间是否在允许范围内。 注意,当前仅支持DATE和TIMESTAMP类型的字段,不支持TIME格式。 |
|||
枚举值校验忽略Null |
通过输入自定义的枚举值,校验数据表中指定字段的合法情况,Null值被统计在有效行中。 |
|||
正则表达式校验忽略Null |
通过输入自定义的正则表达式,校验数据表中指定字段的合法情况,Null值被统计在有效行中。 |
|||
枚举值校验忽略大小写敏感 |
DLI、DWS、HETUENGINE |
通过输入自定义的枚举值,校验数据表中指定字段的合法情况,大小写敏感值被统计在有效行中。 |
||
枚举值校验忽略Null忽略大小写敏感 |
通过输入自定义的枚举值,校验数据表中指定字段的合法情况,Null值和大小写敏感值被统计在有效行中。 |
|||
跨字段级 |
一致性 |
字段一致性校验 |
DLI、DWS、HIVE、SparkSQL、CLICKHOUSE、GBASE、HETUENGINE、ORACLE、RDS、DORIS |
针对相同数据源的不同字段,校验数据表中指定字段的值是否与参考字段所在表中的值一致。 |
准确性 |
跨字段时间校验 |
DLI、DWS、GBASE、HETUENGINE |
针对相同数据源的不同字段,通过输入大小关系符号,校验数据表中指定字段是否与参考字段的时间大小关系是否符合预期。 注意,当前仅支持DATE和TIMESTAMP类型的字段,不支持TIME格式。 |
|
跨源级 |
一致性 |
跨源字段一致性校验 |
HETUENGINE |
基于Hetu连接,针对不同数据源的不同字段,校验数据表中指定字段是否与参考字段一致。 |
系统内置的规则模板不可编辑和查看发布历史。
自定义规则模板是很多用户可能都要使用的数据,不能随意进行修改,开发者只有查询权限,如果要修改规则模板,请联系管理员进行修改。
- 自定义模板:在“数据质量监控 > 规则模板”处,新建规则模板。新建的规则模板系统会自动被划分为对应的规则类型(表级、字段级、跨字段级和多表多字段),模板类型显示为自定义模板。新建质量/对账作业应用自定义模板与其他内置模板选择方式相同,规则类型选择为“表级规则”、“字段级规则”、“跨字段级规则”或“多表多字段规则”后即可选择自定义模板,支持进行异常数据输出,不支持质量评分。
- 自定义规则:在创建质量作业时,“规则类型”选择为“自定义规则”,然后您可以通过输入完整的SQL语句,定义如何对数据对象进行数据质量监控。
说明:
SQL语句可以包含同一数据库下的多张表,但不同数据库的表无法共存。
本文以新建自定义模板为例,说明如何创建规则。如果您需要新建自定义规则,请直接参考新建数据质量作业进行自定义规则质量作业的创建。
- (可选)选择“数据质量监控 > 规则模板”,新建目录。如果已存在可用的目录,可以不用新建目录。注意,规则模板、质量作业和对账作业的目录为同一目录,择一操作即可。
当前系统支持“新建目录”和“同步主题为目录”两种方式:
选择“新建目录”时,直接在目录处单击,输入目录名称,即可完成目录新建。直接新建目录的最大深度拓展为7层。
图1 新建目录选择“同步主题为目录”时,在目录处单击,即可将数据架构处的主题同步到目录中(仅支持同步“已发布”状态的主题)。同步后的主题目录与数据架构发布后主题一致,按照主题层级如
、
等进行展示。
说明:
- 直接新建的普通目录不受同步影响。但当普通目录名称与主题名称冲突时:
- 主题首次同步名称冲突时,会将普通目录修改为主题目录属性,带上主题层级如
、
等进行展示。
- 主题修改后再次同步名称冲突时,会出现同步失败的情况。
- 主题首次同步名称冲突时,会将普通目录修改为主题目录属性,带上主题层级如
- 不支持变更自动同步。即数据架构处的主题或主题层级变更并发布后,需要手动再次单击
才能同步到主题目录。
特殊的,数据架构处的主题或主题层级删除后,手动同步后目录不会删除,仅去除主题目录属性,作为普通目录进行展示。
- 完成同步后,若有同步失败的主题,系统会自动弹出同步结果明细,可查看同步失败的主题名称。
图2 同步主题为目录 - 直接新建的普通目录不受同步影响。但当普通目录名称与主题名称冲突时:
- 在“规则模板”页面,单击“新建”,在弹出的新建规则模板页面中进行配置。
图3 新建规则模板
- 在弹出的新建规则模板页面中输入规则模板名称,选择规则匹配的维度,定义SQL模板并对输出结果进行说明。
- 维度:数据质量支持从完整性、有效性、及时性、一致性、准确性、唯一性六个维度进行单列、跨列、跨行和跨表的分析。自定义质量规则时,请对此规则进行维度匹配。
- 所属目录:选择该规则模板所在的目录。
- 标签:选择所需的标签。标签是在数据地图组件中定义的标签。如果未使用数据地图组件,则标签功能不生效。
- 描述:对此自定义模板进行简单说明。
- 定义关系:输入SQL语句,实现对数据的查找。其中,${Schema_Table1}表示质量/对账作业中所选的表,${Column1}为${Schema_Table1}中所选的字段,${Schema_Table2}仅当定义跨字段级规则时存在,表示质量作业中所选的参考表,${Column2}为${Schema_Table2}中所选的字段。系统支持对定义关系进行语义校验。
说明:
在自定义规则模板时,在定义关系时,如果出现非数字时,只能输出运行结果,不能进行四则运算、逻辑运算和绝对值。
自定义规则模板的定义关系目前最多支持10张表20个字段。
自定义的SQL表达式有如下要求:- 关系表达式中最多支持五列输出。
- 支持最多两张表的入参和两个字段的入参。注:${Column1}为 ${Schema_Table1}的入参 ,${Column2}为${Schema_Table2}的入参,内置逻辑指定。
- 如果结果查到多行,只使用第一行数据。
- 不支持使用.连接表和字段,如${Schema_Table2}.${Column1}.${Input_String1}。
- 非多表多字段表达式中参数只能使用:${Schema_Table1}、${Schema_Table2}、${Column1}、${Column2},且不要使用表别名。
- 多表多字段表达式中参数可以使用:${Schema_Table1}、${Schema_Table2}、${Schema_Table3}、...${Schema_Table5}、${Column1}、${Column2},${Column3}、...${Column20}、${Input_String1}、${Input_String2}、...${Input_String5},且不要使用表别名。
例如统计表行数,输入select count(${Column1}) from ${Schema_Table1}。其中${Column1}通过单击“添加字段参数”生成,${Schema_Table1} 通过单击“添加库表参数”生成。
单击
,开启“添加输入参数”,可以在SQL语句中灵活配置输入参数。
例如字段匹配配置表中的行数,输入select count(1) from ${Schema_Table1} where ${Column1} regexp ${Input_String1}。其中${Column1}通过单击“添加字段参数”生成,${Schema_Table1} 通过单击“添加库表参数”生成,${Input_String1}通过单击“添加输入参数”生成。
说明:
配置多表多字段规则模板时,目前仅支持最多5个库表、20个字段、5个输入参数。
- 输出结果说明:对SQL获得结果的每一列进行说明,与关系定义的输出结果顺序一一对应,列说明之间用英文逗号进行分隔。
例如当定义关系设置为:select max(${Column1}),min(${Column2}) from ${Schema_Table1},则输出结果说明可写为“最大值,最小值”,注意输入顺序。
- 评分公式:此处输入评分公式。自定义模板在此处输入评分公式后,可以参与质量评分,在质量报告中显示评分和规则。
- 异常表模板:此处需输入完整的SQL语句,指定输出哪些数据是异常数据。其中,${Schema_Table1}通过单击“添加库表参数”生成,表示异常表的表名;${Column1}通过单击“添加字段参数”生成,表示异常表中所选的字段;${Output_Columns}通过单击“添加输出参数”生成,表示异常表中指定输出的异常数据。系统支持对异常表模板进行语义校验。
说明:
开启“多表多字段”开关后,“异常表模板”参数不显示,不支持配置。
例如,有一张涉及金额的表,表中“is_test”字段用于标识该条数据是否为测试数据(0为正式数据,1为测试数据)。期望计算正式数据的金额最小值,最大值,平均值以及总和。则自定义模板可设置如下:
- 维度:准确性。
- 所属目录:/全部/。
- 描述:计算正式数据的金额最小值,最大值,平均值以及总和。
- 定义关系:输入如下SQL语句,计算正式数据的金额最小值,最大值,平均值以及总和。其中${Schema_Table1}表示质量作业中所选的表,${Column1}表示${Schema_Table1}中所选的字段。
select min(${Column1}), max(${Column1}), ROUND(avg(${Column1}),2), sum(${Column1}) from ${Schema_Table1} where is_test='0'
- 输出结果说明:最小值,最大值,平均值,总和。
- 异常表模板:输入如下SQL语句,将正式数据中金额小于10对应的${Output_Columns}列作为异常表数据输出。其中${Output_Columns}表示质量作业中异常表参数所选的字段。
select ${Output_Columns} from ${Schema_Table1} where ${Column1}<10 and is_test='0'
图4 自定义规则模板关键参数 - 单击“确定”后,系统默认发布此规则模板,版本名称默认为V1.0。
编辑规则模板
自定义规则模板是很多用户可能都要使用的数据,不能随意进行修改,开发者只有查询权限,如果要修改规则模板,请联系管理员进行修改。
自定义规则模板支持直接修改规则模板内容并进行发布。同时,可以选择下线历史版本且将待下线历史版本关联的作业迁移到新版本上。具体请参见如下操作。
编辑规则模板时,编辑界面增加了“版本名称”和“关联作业”两个参数。
- 选择“数据质量监控 > 规则模板”,在规则模板列表中找到待修改的规则模板,单击操作列的“编辑”进入编辑规则模板界面。
图5 编辑规则模板
- 支持修改维度,修改输出结果说明和重新定义关系。
- 单击“发布”,在提交发布对话框中,选择发布的版本类型,重新设置版本名称,并确认发布。
图6 发布新版本
- 提交发布后,单击操作列的“发布历史”,可以查看该规则模板的发布记录,支持查看版本变化信息、修改版本名称、下线对应版本等。
图7 发布历史界面
- 如需下线历史版本,单击历史版本最右侧的“下线”按钮。
- 如果该版本没有关联作业,单击确认即可下线。
- 如果该版本存在关联作业,需要选择迁移版本,将新版本与作业关联后,单击确认才能完成下线。
图8 迁移版本并下线
- 发布历史处支持进行版本比对,直观展示修改点。
图9 比对版本
导出规则模板
系统支持将自定义的规则模板批量导出,一次最多可导出200个规则模板。
- 选择“数据质量监控 > 规则模板”,选择要导出的自定义规则模板。
- 单击“导出”,弹出“导出规则模板”对话框。
- 单击“导出”,切换到“导出记录”页签。
- 在导出文件列表中,单击最新导出文件对应的“下载”,可将规则模板的Excel表格下载到本地。
导入规则模板
系统支持将自定义的规则模板批量导入,一次最大可导入4MB数据的文件。
- 选择“数据质量监控 > 规则模板”,单击“导入”,弹出“导入规则模板”对话框。
图10 导入规则模板
- 在“导入配置”页签,选择模板名称重名策略。
- 终止:如果模板名称有重复,则全部导入失败。
- 跳过:如果模板名称有重复,会忽略后继续导入。
- 单击“上传文件”,选择准备好的数据文件。
说明:
可通过如下两种方式填写数据文件:
- (推荐使用) 通过“导出”功能,可将数据直接/或修改后批量导入系统。
- 通过“下载Excel模板”,将数据填写好再导入至系统中。
- 配置目录的映射资源信息,选择导入后的规则模板存储目录。如不选择,默认使用原映射资源信息。
图11 配置映射资源信息
- 单击“导入”,将填好的Excel表格模板导入到系统。
- 单击“导入记录”页签,可查看对应的导入记录。