更新时间:2024-10-28 GMT+08:00

新建数据对账作业

数据对账对于数据开发和数据迁移流程中的数据一致性至关重要,而跨源数据对账的能力是检验数据迁移或数据加工前后是否一致的关键指标。

数据质量监控中的对账作业支持跨源数据对账能力,可将创建的规则应用到两张表中进行质量监控,并输出对账结果。

创建作业

  1. DataArts Studio控制台首页,选择对应工作空间的“数据质量”模块,进入数据质量页面。
  1. (可选)选择数据质量监控 > 对账作业,新建目录。如果已存在可用的目录,可以不用新建目录。注意,规则模板、质量作业和对账作业的目录为同一目录,择一操作即可。

    当前系统支持“新建目录”和“同步主题为目录”两种方式:

    选择“新建目录”时,直接在目录处单击,输入目录名称,即可完成目录新建。直接新建目录的最大深度拓展为7层。
    图1 新建目录
    选择“同步主题为目录”时,在目录处单击,即可将数据架构处的主题同步到目录中(仅支持同步“已发布”状态的主题)。同步后的主题目录与数据架构发布后主题一致,按照主题层级如等进行展示。
    1. 直接新建的普通目录不受同步影响。但当普通目录名称与主题名称冲突时:
      • 主题首次同步名称冲突时,会将普通目录修改为主题目录属性,带上主题层级如等进行展示。
      • 主题修改后再次同步名称冲突时,会出现同步失败的情况。
    2. 不支持变更自动同步。即数据架构处的主题或主题层级变更并发布后,需要手动再次单击才能同步到主题目录。

      特殊的,数据架构处的主题或主题层级删除后,手动同步后目录不会删除,仅去除主题目录属性,作为普通目录进行展示。

    3. 完成同步后,若有同步失败的主题,系统会自动弹出同步结果明细,可查看同步失败的主题名称。
    图2 同步主题为目录
  2. 对账作业页面,单击“新建”,在弹出的对话框中,参见表1配置相关参数。
    表1 配置作业参数

    参数名

    说明

    作业名称

    对账作业的名称。

    描述

    为更好的识别数据对账作业 ,此处加以描述信息。描述信息长度不能超过1024个字符。

    标签

    选择所需的标签。标签是在数据地图组件中定义的标签。如果未使用数据地图组件,则标签功能不生效。

    所属目录

    数据对账作业的存储目录,可选择已创建的目录。目录创建请参见(可选)新建目录

    作业级别

    支持提示,一般,严重和致命四种级别,作业级别决定发出通知消息的模板样式。

    超时时间

    输入超时时间。输入值必须在5到1440之间。单位为分钟。该参数为空或者默认1440分钟时,超时时间系统默认为24小时,支持修改。

  3. 单击“下一步”,进入规则配置页面。您需要单击规则卡片中的,然后参见表2配置数据对账规则。您也可选择添加对账规则。
    图3 打开对账作业规则配置
    表2 配置模板规则

    模块

    参数名

    说明

    基本信息

    子作业名称

    在作业的执行结果中,每条规则对应一个子作业。为便于结果查看和日志定位,建议您补充子作业信息。

    描述

    为更好的识别子作业,此处加以描述信息。描述信息长度不能超过1024个字符。

    来源对象/目的对象

    规则类型

    来源对象的“规则类型”包括“表级规则”“字段级规则”“自定义规则”。字段级规则可针对表中的具体字段配置监控规则。此处选择为表级规则,页面中其他设置项对应为表级规则配置项。

    目的对象的“规则类型”由来源对象的规则类型自动生成。

    数据连接

    来源对象/目的对象支持的数据源类型:DWS、MRS Hive、MRS Spark、DLI、ORACLE、RDS(MySQL、PostgreSQL)、Hetu、MRS Spark(Hudi)、MRS ClickHouse、DORIS。

    从下拉列表中选择已创建的数据连接。

    说明:
    • 规则都是基于数据连接的,所以在建立数据质量规则之前需要先到管理中心模块中建立数据连接。
    • 针对通过代理连接的MRS Hive,需要选择MRS API方式或者代理方式提交:
      • MRS API方式:通过MRS API的方式提交。历史作业默认是MRS API提交,编辑作业时建议不修改。
      • 代理方式:通过用户名、密码访问的方式提交。新建作业建议选择代理提交,可以避免权限问题导致的作业提交失败。
    • 数据质量当前不支持MRS hive组件的严格模式 。

    数据库

    选择配置的数据质量规则所应用到的数据库。

    说明:
    • 数据库基于已建立的数据连接。
    • “规则类型”选择“自定义规则”,数据对象选择对应的数据库即可。

    数据对象

    在来源对象选择的数据表将和右侧目的对象的数据表做结果比较。选择配置的数据对账规则所应用到的表。

    说明:

    数据表与数据库强相关,基于已选择的数据库。数据库基于已建立的数据连接。

    SQL

    “规则类型”选择“自定义规则”时,需要配置该参数。此处需输入完整的SQL语句,定义如何对数据对象进行数据质量监控。

    计算引擎

    队列名称

    选择运行对账作业的引擎。仅数据连接为DLI、Hetu类型时,此参数有效,输入队列名称。

    当连接类型为Hetu,规则类型为跨源级规则时,队列名称指的是Hetu引擎的资源队列名称。查看Hetu引擎的资源队列名称,需要登录MRS的FusionInsight Manager系统,单击左侧导航的HetuEngine,在基本信息区域,单击HSConsole WebUI链接,在计算实例列表中查看Hetu引擎的资源队列名称。

    规则模板

    模板名称

    该参数定义如何对数据对象做数据质量监控。

    来源对象的模板名称包含内置的规则模板和用户自定义的规则模板。

    目的对象的“模板名称”由来源对象的规则类型自动生成。

    说明:

    模板类型与规则类型强相关,详情请参见表1。除去系统内置规则模板外,您也可关联在新建数据质量规则中新建的自定义模板。

    当“规则类型”选择“字段级规则”,规则模板名称选择“正则表达式校验”或“正则表达式校验忽略Null”时,正则表达式的规则长度最大支持1024个字符。

    版本

    “模板名称”选择为自定义的规则模板时,需要配置该参数。自定义的规则模板发布后,会产生对应的版本号,此处选择所需的版本。

    计算范围

    选择扫描区域

    支持选择“全表扫描”或“条件扫描”,默认为全表扫描。

    当仅需计算一部分数据,或需周期性按时间戳运行对账作业时,建议通过设置where条件进行条件扫描。

    where条件

    输入where子句,系统会选择符合条件的数据进行扫描。

    例如需要筛选数据表中“age”字段在 (18, 60] 区间范围内的数据时,where条件可设置为如下内容:

    age > 18 and age <= 60

    where条件还支持输入为SQL动态表达式,例如当需要根据“time”字段筛选数据表中24小时前的数据时,where条件可设置为如下内容:

    time >= (date_trunc('hour', now()) - interval '24 h') and time <= (date_trunc('hour', now()))

    告警条件

    告警表达式

    此参数可选,如果您需要针对当前规则设定告警条件,则可以在此配置告警条件的表达式。

    配置规则的告警条件后,系统通过“告警参数”的值,结合告警条件进行真假判断,如果结果为真则进行告警。另外,除了单一告警表达式的结果,您还可以通过逻辑运算符组成更复杂的告警条件进行告警。当前表达式中支持如下逻辑运算符,且可以通过“(”和“)”进行包围:

    • +:相加
    • -:相减
    • *:相乘
    • /:相除
    • ==:等于
    • !=:不等于
    • >:大于
    • <:小于
    • >=:大于等于
    • <=:小于等于
    • !:非
    • ||:或
    • &&:与
    • abs:绝对值

    例如,对账作业的来源侧和目的侧的“规则模板”为“表行数”时,您可以参考如下样例进行配置:

    • 需要配置来源侧表行数小于100时告警,则此处可设置为“${1_1}<100”,其中“${1_1}”为通过告警参数配置的来源侧表“总行数”。
    • 需要配置来源侧表行数不等于目的侧表行数时告警,则此处可设置为“${1_1}!=${2_1}”,其中“${1_1}”为通过告警参数配置的来源侧表“总行数”,“${2_1}”为通过告警参数配置的目的侧表“总行数”。
    • 需要配置来源侧表行数小于100或来源侧表行数不等于目的侧表行数时告警,则此处可设置为“(${1_1}<100)||(${1_1}!=${2_1})”,其中“${1_1}”和“${2_1}”分别为通过告警参数配置的来源侧表和目的侧表的“总行数”,“||”表示满足两个条件之一即会告警。
    • 需要配置来源侧表行数减去目的侧表行数的绝对值在除以来源侧表行数大于0.1时告警,则此处可设置为“abs(${1_1}-${2_1})/${1_1}>0.1”,其中“${1_1}”为通过告警参数配置的来源侧表“总行数”,“${2_1}”为通过告警参数配置的目的侧表“总行数”。

    告警参数

    此参数来源于规则模板的输出结果。您可以单击界面显示的参数从而输入告警表达式中的告警参数,单击后系统会在“告警表达式”输入框给出参数的表达式。

    例如“规则模板”为“表行数”时,单击告警参数“总行数”,在“告警表达式”输入框会显示为“${1_1}”。

    逻辑运算符

    可选,本参数支持将单一告警表达式的结果进行逻辑运算,组成更复杂的告警条件。

    您可以将鼠标光标放在“告警表达式”输入框处需要进行逻辑运算的两个告警表达式之间,然后单击输入如下之一运算符。另外,您也可以手动输入,当前表达式中支持如下逻辑运算符,且可以通过“(”和“)”进行包围:

    • +:相加
    • -:相减
    • *:相乘
    • /:相除
    • ==:等于
    • !=:不等于
    • >:大于
    • <:小于
    • >=:大于等于
    • <=:小于等于
    • !:非
    • ||:或
    • &&:与
    • abs:绝对值

    例如,“规则模板”为“表行数”,需要配置来源侧表行数小于100或来源侧表行数不等于目的侧表行数时告警,则此处可设置为“(${1_1}<100)||(${1_1}!=${2_1})”,其中“${1_1}”和“${2_1}”分别为通过告警参数配置的来源侧表和目的侧表的“总行数”,“||”表示满足两个条件之一即会告警。

  4. 单击“下一步”,设置订阅配置信息,如果需要接收SMN通知,打开通知状态,选择通知类型和SMN服务主题,如图4
    图4 订阅配置

    开启订阅配置后,每个满足通知类型的子作业都会发送通知。

    如果开启告警,失败告警通知不需要单独配置,任务运行失败后会发送告警。

    当前仅支持“短信”、“邮件”这两种协议的订阅终端订阅主题。

    通知类型包含“触发告警”和“运行成功”两种。

    打开“通知策略”后,告警上报的通知策略可以进行配置,在最近N分钟以内,连续N次告警,则发送告警通知。最近时间可支持配置1~360分钟,连续次数可支持配置1~10次。

  5. 单击“下一步”,选择调度方式,支持单次调度和周期调度两种方式,周期调度的相关参数配置请参见表3。配置完成后单击“提交”。
    1. 单次调度会产生手动任务的实例,手动任务的特点是没有调度依赖,只需要手动触发即可。
    2. 周期调度会产生周期实例,周期实例是周期任务达到启用调度所配置的周期性运行时间时,被自动调度起来的实例快照。
    3. 周期任务每调度一次,便生成一个实例工作流。您可以对已调度起的实例任务进行日常的运维管理,如查看运行状态,对任务进行终止、重跑等操作。
    4. 只有支持委托提交作业的MRS集群,才支持对账作业周期调度。 支持委托方式提交作业的MRS集群有:
      • MRS的非安全集群。
      • MRS的安全集群,集群版本大于 2.1.0,并且安装了MRS 2.1.0.1以上的补丁。
    表3 配置周期调度参数

    参数名

    说明

    生效日期

    调度任务的生效日期。

    调度周期

    选择调度任务的执行周期,并配置相关参数。

    • 分钟
    • 小时
    • 说明:
      • 调度周期选择分钟/小时,需配置调度的开始时间、间隔时间和结束时间。
      • 调度周期选择天,需要配置调度时间,即确定了调度任务于每天的几时几分启用。
      • 调度周期选择周,需要配置生效时间和调度时间,即确定了调度任务于周几的几时几分启用。

    对账作业创建完成后,可以在作业里面进行查看,系统支持通过作业名称、创建人、最近运行时间进行筛选。同时,系统支持模糊搜索。

    对账作业创建完成后,可以对该对账作业进行编辑、删除、运行、启动调度、停止调度等操作。

    单次调度模式不支持启动调度。

运行单个对账作业

系统支持运行单个对账作业。

  1. 选择“数据质量监控 > 对账作业”,选择要运行的对账作业。
  2. 单击“操作”列的“运行”。
  3. 企业模式下,选择运行环境,系统支持可选择“开发环境”或“生产环境”。
  4. 单击“确定”。

导出对账作业

系统支持批量导出对账作业,一次最多可导出200个对账作业。导出作业时,导出的单元格内容最大长度支持65534个字符。

  1. 选择“数据质量监控 > 对账作业”,选择要导出的对账作业。
  2. 单击“导出”,弹出“导出对账作业”对话框。
  3. 单击“导出”,切换到“导出记录”页签。
  4. 在导出文件列表中,单击最新导出文件对应的“下载”,可将对账作业的Excel表格下载到本地。

导入对账作业

系统支持批量导入对账作业,一次最大可导入4M数据的文件。导入作业时,导出的单元格内容最大长度支持65534个字符。

  1. 选择数据质量监控 > 对账作业,单击“导入”,弹出“导入对账作业”对话框。

    图5 导入对账作业

  2. 在“导入配置”页签,选择模板名称重名策略。

    • 终止:如果对账作业名称有重复,则全部导入失败。
    • 跳过:如果对账作业名称有重复,会忽略后继续导入。
    • 覆盖:如果对账作业名称有重复,会覆盖现有同名作业。

      如果选择覆盖,请在导入文件前,停止所有作业调度,否则调度中的作业会导致上传文件失败。

  3. 单击“上传文件”,选择准备好的数据文件。

    可通过如下两种方式填写数据文件:

    • (推荐使用) 通过“导出”功能,可将数据直接/或修改后批量导入系统。
    • 通过“下载Excel模板”,将数据填写好,再导入至系统中。

  4. 分别配置数据连接、集群、目录、主题、映射资源信息。如不选择,默认使用原映射资源信息。

    图6 配置映射资源信息

    • 数据连接:选择导入后的数据连接类型。
    • 集群:如果数据连接类型是DLI,需要选择对应的队列。
    • 目录:选择导入后的对账作业存储目录。
    • 主题:如果配置了消息通知,需要选择主题。

  5. 单击“导入”,将填好的Excel表格模板导入到系统。
  6. 单击“导入记录页签”,可查看对应的导入记录。

批量运行对账作业

系统支持批量运行对账作业,一次最多可批量运行200个对账作业。

  1. 选择“数据质量监控 > 对账作业”,选择要批量运行的对账作业。
  2. 单击“更多 > 批量运行”,即可完成对账作业的批量运行。

    图7 批量运行

  3. 企业模式下,选择运行环境,系统支持可选择“开发环境”或“生产环境”。
  4. 单击“确定”。

批量调度对账作业

系统支持批量调度对账作业,一次最多可批量调度200个对账作业。

  1. 选择“数据质量监控 > 对账作业”,选择要批量调度的对账作业。
  2. 单击“更多 > 启动调度”,即可完成对账作业的批量调度。

    图8 批量调度

批量停止调度对账作业

系统支持批量停止调度对账作业,一次最多可批量停止200个对账作业。

  1. 选择“数据质量监控 > 对账作业”,选择要批量停止调度的对账作业。
  2. 单击“更多 > 停止调度”,即可完成对账作业的批量停止调度。

    图9 批量停止调度

批量停止运行对账作业

系统支持批量停止运行对账作业,一次最多可批量停止200个对账作业。

仅运行状态为“运行中”的对账作业可以停止。

  1. 选择“数据质量监控 > 运维管理”,选择要批量停止的对账作业。
  2. 单击“停止运行”,在弹出的“停止实例”界面中确认需要停止运行的对账作业实例,单击“是”,即可完成对账作业的批量停止运行。

    图10 批量停止运行

    图11 停止实例