tencent cloud

文档反馈

数据质量入门

最后更新时间:2024-11-01 15:52:53
    说明:
    本文将通过一个完整的配置过程,带您快速了解数据质量模块的核心能力。

    数据表准备

    1. 在 emr-hive 数据源中创建数据库:emall,并创建数据表:dq_test 。
    2. 在表中添加以下字段:
    字段名
    列类型
    是否分区
    pt_date
    string
    id
    int
    name
    string
    gender
    int
    操作截图:
    
    
    

    数据开发任务准备

    1. 数据开发 > 编排空间界面,单击创建工作流
    2. 在工作流中创建任务节点,任务类型:Hive SQL。
    Hive SQL 如下:
    INSERT INTO TABLE emall.dq_test PARTITION (pt_date = '2024-05-01')
    VALUES ('1', '张三', '1');

    配置数据质量任务

    配置流程

    
    
    

    创建质量任务

    步骤一:进入创建页面

    进入数据质量 > 数据监控 > EMR 界面,单击单表新增规则,开始新增一个质量规则。
    
    
    

    步骤二:选择监控对象

    进入单表新增规则界面,依次选择数据源、数据库、监控表,单击新增监控规则
    
    
    

    步骤三:新增监控规则

    在弹框新增监控规则页面补充以下信息,单击保存
    
    
    
    解释说明:
    元素
    说明
    规则类型
    选择系统模板
    此处可选择系统模板、自定义模板、自定义 SQL:
    系统模板:WeData 已经内置了56个规则模板,可免费使用。各个模板的详细介绍说明可参考系统模板说明。
    自定义模板:可在规则模板菜单添加适用自己业务的规则,方便复用,详细操作指导可参考自定义模板说明。
    自定义 SQL:可直接填写 SQL 语句作为检测规则,详细操作指导可参考新增质量规则。
    监控对象
    选择表(table)
    监控对象可分为:表级和字段级:
    表级,可对表行数,表大小(仅支持 Hive 表)进行监控。
    字段级,可对字段是否为空,是否重复,平均值、最大值、最小值等进行监控。
    选择模板
    选择表行数
    WeData 已经内置了56个规则模板,可免费使用。各个模板的详细介绍说明可参考系统模板说明。
    检测范围
    选择条件扫描
    填入以下 where 条件:
    pt_date='${yyyy-MM-dd-1d}'
    说明:
    此处一般填写分区字段,避免每次质量任务都进行全表扫描,对计算资源造成浪费。
    SQL 中 ${yyyy-MM-dd-1d} 是日期变量,代表执行日期前一天,在质量任务执行时会被替换为具体的日期。
    例如:当质量任务在2024 - 05 - 02 00:00:00执行时,${yyyy-MM-dd-1d} 会被替换为2024 - 05 - 01。
    具体时间变量的替换逻辑可参考 时间参数说明
    触发条件
    比较符:选择小于。
    比较值:填入 1。
    表行数小于1,结合检测范围填写的时间变量,即表示:当昨天没有新增数据时,触发告警。
    说明:
    此处填写的触发条件为异常值,即:触发告警的条件。
    触发等级
    选择
    触发等级可分为:高、中、低。
    高:当触发告警时,立即阻断下游任务执行(仅关联生产任务时有效)。
    中:仅触发告警。
    低:不触发告警,仅结果展示异常。

    步骤四:设置执行策略

    单击批量设置执行策略后,进入执行策略设置页面,批量设置执行策略后,单击保存。您可以参考下表完成配置。
    
    
    
    解释说明:
    元素
    说明
    执行方式
    选择关联生产调度
    此处可选择关联生产调度和离线周期检测:
    关联生产调度:即关联调度。将质量任务与生产任务(数据同步任务或者数据开发任务)进行关联,当生产任务运行结束后,插入运行质量规则任务。如发现异常,会第一时间通知处理人进行处理,并根据任务级别阻塞下游任务执行避免问题数据扩展。
    说明:
    同一个质量检测任务可以关联多个生产任务;同一个生产任务也可以关联多个质量检测任务。
    离线周期检测:即独立调度。对选定的数据库表、核心业务字段按天、按小时、按分钟等自定义频率设置周期性质量检测。质量任务会按设定的周期定时执行,如发现异常,会第一时间通知订阅人。
    执行引擎
    选择 Hive
    此处可选择 Hive 和 Spark,与购买的 EMR 资源有关,一般情况下 Hive 表可直接选择 Hive 引擎。
    计算资源
    选择 default
    此处可选择 EMR 集群中的资源组,一般情况下可直接选择 default。
    执行资源
    此处的执行资源即项目已经绑定的调度资源组。
    选择任务
    选择准备工作中创建的 Hive SQL 任务。

    步骤五:设置订阅

    当质量检测任务的运行结果符合触发条件时(即结果非预期,检测结果为失败),以何种方式发送通知,通知给谁。
    进入订阅设置界面,勾选订阅方式,设置接收人,单击保存即可。
    
    
    

    步骤六:生成规则并查看详情

    1. 进入单表新增规则界面,单击生成规则,必须单击生成规则,才会生成质量检测规则。
    2. 您可以在界面右上角,单击详情,即可进入规则列表。
    
    
    

    步骤七:试运行

    1. 进入到表维度的规则列表,单击试运行
    2. 修改调度时间,并单击开始试运行,试运行结束后,您可单击点击查看运行结果
    说明:
    由于插入数据时,填写的数据分区为2024 - 05 - 01,此处可填写2024 - 05 - 02。

    
    
    

    步骤八:查看试运行结果

    1. 进入执行实例与结果页面后,可单击左侧下拉三角形,展开规则明细。
    2. 单击某一条规则的执行历史,查看历史运行结果。
    
    
    

    步骤九:开启监控

    如果试运行结果没有问题,可返回表维度的质量规则列表,在监控状态列开启监控。
    说明:
    只有启用状态的监控规则,才会自动运行。
    
    
    

    查看任务执行结果

    当质量任务运行结束时,如果检测结果为异常,系统会自动发送告警,并对触发等级为高的任务阻塞下游任务。
    对于库表负责人和数据开发工程师需要及时排查异常,并解决问题。
    1. 数据质量 > 运维管理 > 执行实例与结果页面,依次选择数据源、数据库,可查看任务的运行结果。
    2. 在此页面可查看任务检测状态,并通过左侧下拉三角展开查看每条规则的结果和日志。
    说明:
    检测状态分为两大类:
    任务过程状态:
    下发中:检测任务已经生成,但是正在排队下发,可能由于调度资源组紧张导致下发时间比较长。
    链路失败:任务无法下发到计算资源(例如 EMR),可能由于调度资源组与计算资源网络不通原因导致。
    SQL 检测状态:
    检测中:SQL 已经在计算资源(例如 EMR)上运行,可能由于计算资源紧张导致检测时间比较长。
    正常:SQL 已经执行完成,结果符合预期(未达到检测规则的触发条件)。
    异常:SQL 已经执行完成,结果不符合预期(达到了检测规则的触发条件,此时会发送任务告警信息)。
    
    
    
    
    
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持