文档首页/ 迁移中心 MGC/ 用户指南/ 大数据校验/ 创建统计任务并执行校验
更新时间:2024-12-28 GMT+08:00

创建统计任务并执行校验

利用创建的源端连接和目的端连接,分别创建源端和目的端统计任务,获取源端和目的端的数据信息,以便于进行数据校验。

支持的大数据组件和统计方式说明请参见大数据校验概述

注意事项

  • 创建的源端统计任务和目的端统计任务的统计方式必须保持一致。
  • HBase安全集群任务与非安全集群任务不能同时执行。HBase安全集群需要加载认证信息,非安全集群连接时需要清除安全集群的认证信息,因此不能同时执行。
  • 校验任务不支持跨天执行,执行过程中如果跨0点将导致校验结果异常,请合理规划任务以避免跨天运行。
  • 当源端Lindorm服务因欠费被锁定时,虽然可以正常创建数据连接和校验任务,但由于服务锁定限制了数据访问和操作权限,最终会导致校验任务无法正常执行。在进行数据校验前,请确保Lindorm服务未因欠费被锁定,以避免权限问题。如果服务被锁定,请及时补缴费用以解除锁定。确认服务恢复正常后,重新尝试执行数据校验任务。

约束与限制

  • 创建EMR Delta Lake到MRS Delta Lake数据校验任务存在以下约束与限制:
    • 源端EMR环境的Spark版本为3.3.1时,支持Delta Lake(有元数据)和Delta Lake(无元数据)的数据校验。
    • 源端EMR环境的Spark版本为2.4.8时,仅支持Delta Lake(有元数据)的数据校验。
  • Hbase校验不支持纯冷数据表。
  • 在进行Hive 2.x与Hive 3.x版本间数据校验时,由于Hive 2.x版本在查询固定长度字符串类型char(N)数据时,如果实际数据长度不满足N长度,Hive会以空格补齐至N长度。而Hive 3.x版本在查询时不会进行这种补齐操作。这可能导致在不同版本间比较结果时出现差异。为了避免因版本差异导致的数据不一致问题,建议使用Beeline作为客户端工具进行作业对数。
  • 在进行ClickHouse数据校验时,如果源端阿里云的ClickHouse版本为21.8.15.7,目的端华为云的ClickHouse版本为23.3.2.37,由于这两个版本在处理IPv4和IPv6字段类型以及相关函数计算结果上存在差异,因此无法进行字段校验
  • 在执行Hive数据的日级别增量、小时级增量以及指定日期的校验时,如果分区字段为date类型,且分区值的格式不是标准的YYYY-MM-DD时,系统目前不支持对这种场景进行数据校验。

前提条件

操作步骤

  1. 登录迁移中心管理控制台。
  2. 在左侧导航栏选择“实施>大数据校验”,进入大数据校验页面。在页面左上角的当前项目下拉列表中选择迁移项目
  3. 功能入口区域,单击“任务管理”,进入任务管理页面。
  4. 单击页面右上角的“新增任务”,右侧弹出新增任务窗口。
  5. 根据实际需求,选择大数据组件类型和统计方式,单击“下一步”,进入详细配置页面。
  6. 根据对应的参数配置说明,配置所选的统计方式参数。

    各组件之间配置参数略有区别,请以实际页面为准。

    表1 全量校验参数配置说明

    区域

    参数

    配置说明

    基础信息

    任务名

    默认创建名称为“组件类型全量校验-4位随机数(字母和数字)”,也可以自定义名称。

    任务配置

    表组

    选择需要校验的表所在表组。

    执行机连接

    Hive、Delta Lake和Hudi组件配置参数。

    • 创建源端统计任务时,选择源端执行机连接。
    • 创建目的端统计任务时,选择目的端执行机连接。

    DLI连接

    数据湖探索(DLI)组件配置参数,创建目的端统计任务。选择创建的目的端DLI连接

    Doris连接

    Doris组件配置参数。

    • 创建源端统计任务时,选择源端Doris连接。
    • 创建目的端统计任务时,选择目的端Doris连接。

    HBase连接

    HBase组件和CloudTable(HBase)组件配置参数。

    • 创建源端统计任务时,选择源端HBase连接。
    • 创建目的端统计任务时,选择目的端HBase或CloudTable(HBase)连接。

    ClickHouse连接

    ClickHouse、阿里云云数据库ClickHouse和CloudTable(Clickhouse)组件配置参数。

    • 创建源端统计任务时,选择源端MRS ClickHouse连接或阿里云云数据库ClickHouse连接。
    • 创建目的端统计任务时,选择目的端MRS ClickHouse或CloudTable(ClickHouse)连接。

    元数据连接(可选)

    Delta Lake组件配置参数。

    创建Delta Lake统计任务时,可以选择与表组所属集群相关的源端元数据连接,用于提升任务处理效率。

    执行时间

    设置作业自动执行时间。当作业激活后,每天都会在设置的时间自动执行。

    说明:

    建议执行时间选择业务的低峰期。

    高级选项

    • 并发连接数:进行数据统计时,单个执行机的任务并发数。默认为3,取值范围:1~10。
      注意:

      在创建阿里云Hive校验任务时,请根据源端数据量和EMR Master节点的规格,合理设置并发连接数。建议按照以下两个条件进行设置:

      • 条件一:同时运行的任务并发数之和不超过元数据节点总核数的70%。
      • 条件二:任务分配的总资源不超过执行队列资源。计算如下:

        内存:num-executors x executor-memory x 并发数

        核数:num-executors x executor-cores x 并发数

      例如,源端总数据量为500 G,且包含10000张表,其中8张为50 G、10万分区的大表。EMR Master节点规格为8U32G。

      • 根据条件一:最大并发数 = 0.7×8=5.6,向下取整得到最大并发数为5。
      • 根据条件二:需要在后续执行命令参数配置中,选择Spark-sql,并设置如下参数:

        executor-memory = 4G

        master = yarn

        num-executors = 20

        executor-cores = 2

        driver-memory = 10G

    • 单文件SQL条数:每个需要校验的表会产生一条SQL用以获取数据摘要,每批提交给集群处理的数据文件中所包含的SQL条数。默认为10,推荐取值范围:1~50。
    • 超时时间:每个SQL语句在大数据集群上执行时的最大允许时长,单位为秒(s)。默认为600,推荐取值范围:600~ 7200。
    • 发送SMN通知:选择是否使用SMN消息通知功能,该功能可以通过电子邮件、短信或者自定义URL等方式及时通知您任务状态。
      须知:
      • 使用该功能前,需要前往SMN控制台创建主题。方法请参考创建SMN主题
      • 使用该功能可能产生少量费用,具体费用由SMN服务结算。详情请查看SMN计费说明

    数据筛选

    非分区表处理策略

    选择对于非分区表的校验处理策略。

    • 全部校验:全量处理所有非分区表,不做筛选。
    • 全部忽略:忽略所有非分区表,不做校验。
    • 按更新时间过滤:只处理更新时间在校验范围内的非分区表。注意:非分区表非insert写入业务,元数据更新时间存在偏差,按更新时间过滤分区时可能遗漏分区,慎重选择该选项!

    高级选项

    单SQL字段上限:每条SQL查询的表的字段上限。单SQL查询的字段数越多,执行时间越长, 如果设置的字段数上限过少,则可能形成更多SQL,影响获取校验结果的效率。默认是0,即无上限,取值范围100~500。

    OBS桶配置检查

    -

    • 如果需要将任务日志文件和内容校验结果上传到OBS桶进行管理和分析,请参考配置OBS桶配置日志桶。配置了日志桶后,会默认使用日志上传功能,将日志数据和内容校验结果上传到指定的OBS桶中。
    • 如果不需要将任务日志文件和内容校验结果上传到OBS桶,请勾选“我确认仅需在Edge侧查看日志和内容校验结果,无需上传至OBS桶”。

    命令参数

    (Hive配置参数)

    安全配置

    如果大数据集群启用了安全配置(例如Kerberos安全认证),请勾选此选项,并配置安全认证命令。配置前,需要您手动将包含认证密钥的.keytab文件上传至执行机。

    • keytab文件地址:输入.keytab文件在执行机的存放地址。
    • keytab文件用户名:输入.keytab文件对应的用户名。

    执行命令

    可以通过设置Beeline或Spark-sql命令行参数,对数据进行处理。

    • Beeline:用于与 Hive交互的命令行工具。
    • Spark-sql:用于执行 SQL 查询和分析数据。

    MaxCompute参数

    (MaxCompute配置参数)

    -

    根据实际需求,添加MaxCompute参数。参数详情请参考MaxCompute文档

    统计配置

    (DLI配置参数)

    参数

    根据实际需求进行配置,支持的自定义参数详情请参考自定义参数说明

    统计配置

    (HBase配置参数)

    运行模式

    支持以下两种运行模式:

    Yarn:适用于大型分布式环境,可以充分利用集群资源,提高任务的并行度和效率。

    Local:适用于小规模数据集或开发测试环境,可以快速进行调试和验证。

    参数

    根据所选的运行模式和实际需求,添加命令行参数。

    命令参数(Delta Lake和Hudi配置参数)

    安全配置(仅创建Delta Lake目的端任务时可以配置)

    如果大数据集群启用了安全配置(例如Kerberos安全认证),请勾选此选项,并配置安全认证命令。配置前,需要您手动将包含认证密钥的.keytab文件上传至执行机。

    • keytab文件地址:输入.keytab文件在执行机的存放地址。
    • keytab文件用户名:输入.keytab文件对应的用户名。

    spark-sql命令

    Spark SQL是Spark中用于结构化数据处理的模块。在Spark应用中,可以无缝地使用SQL语句亦或是DataSet API对结构化数据进行查询。更多介绍请参见SparkSQL原理。建议保持默认。

    spark-submit命令

    通过Spark基本shell命令,提交Spark应用。命令为:

    ./bin/spark-submit \
      --class <main-class> \
      --master <master-url> \
      ... # other options
      <application-jar> \
      [application-arguments]

    参数解释:

    • --class:Spark应用的类名。
    • --master:Spark用于所连接的master,如yarn-client,yarn-cluster等。
    • application-jar:Spark应用的jar包的路径。
    • application-arguments:提交Spark应用的所需要的参数(可以为空)。

    以下为特定场景下需要添加的参数配置:

    • 如果创建的是阿里云 EMR且涉及Spark 3的Delta Lake源端统计任务,请添加如下参数:
      • 参数名:jars
      • 参数值:'/opt/apps/DELTALAKE/deltalake-current/spark3-delta/delta-core_2.12-*.jar,/opt/apps/DELTALAKE/deltalake-current/spark3-delta/delta-storage-*.jar'
        注意:

        参数值需要根据实际环境目录和Delta Lake 的版本进行替换。

    • 如果源端是阿里云 EMR Delta 2.1.0版本并且配置了Spark 2.4.8来处理Delta Lake数据,请添加如下参数:
      • 参数名:mgc.delta.spark.version
      • 参数值:2
    表2 日级增量校验参数配置说明

    区域

    参数

    配置说明

    基础信息

    任务名

    默认创建名称为“组件类型日级增量校验-4位随机数(字母和数字)”,也可以自定义名称。

    任务配置

    表组

    选择需要校验的表所在表组。

    执行机连接

    Hive、Delta Lake和Hudi组件配置参数。

    • 创建源端统计任务时,选择源端执行机连接。
    • 创建目的端统计任务时,选择目的端执行机连接。

    DLI连接

    数据湖探索(DLI)组件配置参数,创建目的端统计任务。选择创建的DLI连接

    Doris连接

    Doris组件配置参数。

    • 创建源端统计任务时,选择源端Doris连接。
    • 创建目的端统计任务时,选择目的端Doris连接。

    HBase连接

    HBas组件配置参数。

    • 创建源端统计任务时,选择源端HBase连接。
    • 创建目的端统计任务时,选择目的端HBase或CloudTable(HBase)连接。

    元数据连接(可选)

    Hive、Delta Lake组件配置参数。

    创建Hive目的端统计任务时可配置,选择Hive目的端元数据连接。用于判断目的端分区是否存在。

    创建Delta Lake统计任务时,可以选择与表组所属集群相关的源端元数据连接,用于提升任务处理效率。

    执行时间

    设置作业自动执行时间。当作业激活后,每天都会在设置的时间自动执行。

    高级选项

    • 并发连接数:进行数据统计时,单个执行机的任务并发数。默认为3,取值范围:1~10。
      注意:

      在创建阿里云Hive校验任务时,请根据源端数据量和EMR Master节点的规格,合理设置并发连接数。建议按照以下两个条件进行设置:

      • 条件一:同时运行的任务并发数之和不超过元数据节点总核数的70%。
      • 条件二:任务分配的总资源不超过执行队列资源。计算如下:

        内存:num-executors x executor-memory x 并发数

        核数:num-executors x executor-cores x 并发数

      例如,源端总数据量为500 G,且包含10000张表,其中8张为50 G、10万分区的大表。EMR Master节点规格为8U32G。

      • 根据条件一:最大并发数 = 0.7×8=5.6,向下取整得到最大并发数为5。
      • 根据条件二:需要在后续执行命令参数配置中,选择Spark-sql,并设置如下参数:

        executor-memory = 4G

        master = yarn

        num-executors = 20

        executor-cores = 2

        driver-memory = 10G

    • 单文件SQL条数:每个需要校验的表会产生一条SQL用以获取数据摘要,每批提交给集群处理的数据文件中所包含的SQL条数。默认为10,推荐取值范围:1~50。
    • 超时时间:每个SQL语句在大数据集群上执行时的最大允许时长,单位为秒(s)。默认为600,推荐取值范围:600~ 7200。
    • 发送SMN通知:选择是否使用SMN消息通知功能,该功能可以通过电子邮件、短信或者自定义URL等方式及时通知您任务状态。
      须知:
      • 使用该功能前,需要前往SMN控制台创建主题。方法请参考创建SMN主题
      • 使用该功能可能产生少量费用,具体费用由SMN服务结算。详情请查看SMN计费说明

    数据筛选

    增量区间

    选择需要对哪些时间段内的增量数据进行校验。默认统计24小时增量数据。T代表执行时间,T-n代表执行时间前的n x 24小时。

    勾选统计连续日期,可以选择多个统计时间。

    非分区表处理策略

    选择对于非分区表的对数处理策略。

    • 全部校验:全量处理所有非分区表,不做筛选。
    • 全部忽略:忽略所有非分区表,不做校验。
    • 按更新时间过滤:只处理更新时间在校验范围内的非分区表。注意:非分区表非insert写入业务,元数据更新时间存在偏差,按更新时间过滤分区时可能遗漏分区,慎重选择该选项!

    高级选项

    • 分区筛选方式:通过“更新时间”和”创建时间“,判断分区是否属于校验范围内。
      • 更新时间:指分区内数据最后一次被修改或更新的时间戳。如果您关心的是分区内数据的最新状态或最近一段时间内的数据变更,可以选择“更新时间”作为筛选条件。
      • 创建时间:指分区被首次创建时的时间戳。如果您关心的是分区从创建开始到某个时间点内的数据,可以选择“创建时间”作为筛选条件。
    • 分区上限:用于限制查询或处理的分区数量,避免不必要的全表扫描或处理大量不需要的数据。默认为3,取值范围:1~50。

      例如,设置分区上限为3,系统只处理降序排序后分区列表中的前3个分区。

    • 单SQL字段上限:每条SQL查询的表的字段上限。单SQL查询的字段数越多,执行时间越长, 如果设置的字段数上限过少,则可能形成更多SQL,影响获取校验结果的效率。默认是0,即无上限,取值范围100~500。

    OBS桶配置检查

    -

    • 如果需要将任务日志文件和内容校验结果上传到OBS桶进行管理和分析,请参考配置OBS桶配置日志桶。配置了日志桶后,会默认使用日志上传功能,将日志数据和内容校验结果上传到指定的OBS桶中。
    • 如果不需要将任务日志文件和内容校验结果上传到OBS桶,请勾选“我确认仅需在Edge侧查看日志和内容校验结果,无需上传至OBS桶”。

    执行脚本

    (Hive配置参数)

    安全配置

    如果大数据集群启用了安全配置(例如Kerberos安全认证),请勾选此选项,并配置安全认证命令。配置前,需要您手动将包含认证密钥的.keytab文件上传至执行机。

    • keytab文件地址:输入.keytab文件在执行机的存放地址。
    • keytab文件用户名:输入.keytab文件对应的用户名。

    执行命令

    可以通过设置Beeline或Spark-sql命令行参数,对数据进行处理。

    • Beeline:用于与 Hive交互的命令行工具。
    • Spark-sql:用于执行 SQL 查询和分析数据。

    MaxCompute参数

    (MaxCompute配置参数)

    -

    根据实际需求,添加MaxCompute参数。参数详情请参考MaxCompute文档

    统计配置

    (DLI配置参数)

    参数

    根据实际需求进行配置,支持的自定义参数详情请参考自定义参数说明

    统计配置

    (HBase配置参数)

    运行模式

    支持以下两种运行模式:

    Yarn:适用于大型分布式环境,可以充分利用集群资源,提高任务的并行度和效率。

    Local:适用于小规模数据集或开发测试环境,可以快速进行调试和验证。

    参数

    根据所选的运行模式和实际需求,添加命令行参数。

    命令参数(Delta Lake和Hudi配置参数)

    安全配置(仅创建Delta Lake目的端任务时可以配置)

    如果大数据集群启用了安全配置(例如Kerberos安全认证),请勾选此选项,并配置安全认证命令。配置前,需要您手动将包含认证密钥的.keytab文件上传至执行机。

    • keytab文件地址:输入.keytab文件在执行机的存放地址。
    • keytab文件用户名:输入.keytab文件对应的用户名。

    spark-sql命令

    Spark SQL是Spark中用于结构化数据处理的模块。在Spark应用中,可以无缝地使用SQL语句亦或是DataSet API对结构化数据进行查询。更多介绍请参见SparkSQL原理。建议保持默认。

    spark-submit命令

    通过Spark基本shell命令,提交Spark应用。命令为:

    ./bin/spark-submit \
      --class <main-class> \
      --master <master-url> \
      ... # other options
      <application-jar> \
      [application-arguments]

    参数解释:

    • --class:Spark应用的类名。
    • --master:Spark用于所连接的master,如yarn-client,yarn-cluster等。
    • application-jar:Spark应用的jar包的路径。
    • application-arguments:提交Spark应用的所需要的参数(可以为空)。

    以下为特定场景下需要添加的参数配置:

    • 如果创建的是阿里云 EMR且涉及Spark 3的Delta Lake源端统计任务,请添加如下参数:
      • 参数名:jars
      • 参数值:'/opt/apps/DELTALAKE/deltalake-current/spark3-delta/delta-core_2.12-*.jar,/opt/apps/DELTALAKE/deltalake-current/spark3-delta/delta-storage-*.jar'
        注意:

        参数值需要根据实际环境目录和Delta Lake 的版本进行替换。

    • 如果源端是阿里云 EMR Delta 2.1.0版本并且配置了Spark 2.4.8来处理Delta Lake数据,请添加如下参数:
      • 参数名:mgc.delta.spark.version
      • 参数值:2
    表3 小时级增量校验参数配置说明

    区域

    参数

    配置说明

    基础信息

    任务名

    默认创建名称为“组件类型小时级增量校验-4位随机数(字母和数字)”,也可以自定义名称。

    任务配置

    表组

    选择需要校验的表所在表组。

    执行机连接

    Hive、Delta Lake和Hudi组件配置参数。

    • 创建源端统计任务时,选择源端执行机连接。
    • 创建目的端统计任务时,选择目的端执行机连接。

    DLI连接

    数据湖探索(DLI)组件配置参数,创建目的端统计任务。选择创建的DLI连接

    Doris连接

    Doris组件配置参数。

    • 创建源端统计任务时,选择源端Doris连接。
    • 创建目的端统计任务时,选择目的端Doris连接。

    元数据连接(可选)

    Hive、Delta Lake组件配置参数。

    创建Hive目的端统计任务时可配置,选择Hive目的端元数据连接。用于判断目的端分区是否存在。

    创建Delta Lake统计任务时,可以选择与表组所属集群相关的源端元数据连接,用于提升任务处理效率。

    开始时间

    设置作业自动执行时间。当作业激活后,每天都会在设置的时间自动执行。

    高级选项

    • 并发连接数:进行数据统计时,单个执行机的任务并发数。默认为3,取值范围:1~10。
      注意:

      在创建阿里云Hive校验任务时,请根据源端数据量和EMR Master节点的规格,合理设置并发连接数。建议按照以下两个条件进行设置:

      • 条件一:同时运行的任务并发数之和不超过元数据节点总核数的70%。
      • 条件二:任务分配的总资源不超过执行队列资源。计算如下:

        内存:num-executors x executor-memory x 并发数

        核数:num-executors x executor-cores x 并发数

      例如,源端总数据量为500 G,且包含10000张表,其中8张为50 G、10万分区的大表。EMR Master节点规格为8U32G。

      • 根据条件一:最大并发数 = 0.7×8=5.6,向下取整得到最大并发数为5。
      • 根据条件二:需要在后续执行命令参数配置中,选择Spark-sql,并设置如下参数:

        executor-memory = 4G

        master = yarn

        num-executors = 20

        executor-cores = 2

        driver-memory = 10G

    • 单文件SQL条数:每个需要校验的表会产生一条SQL用以获取数据摘要,每批提交给集群处理的数据文件中所包含的SQL条数。默认为10,推荐取值范围:1~50。
    • 超时时间:每个SQL语句在大数据集群上执行时的最大允许时长,单位为秒(s)。默认为600,推荐取值范围:600~ 7200。
    • 发送SMN通知:选择是否使用SMN消息通知功能,该功能可以通过电子邮件、短信或者自定义URL等方式及时通知您任务状态。
      须知:
      • 使用该功能前,需要前往SMN控制台创建主题。方法请参考创建SMN主题
      • 使用该功能可能产生少量费用,具体费用由SMN服务结算。详情请查看SMN计费说明

    数据筛选

    执行周期

    设置任务的执行频率和持续时间。

    非分区表处理策略

    选择对于非分区表的校验处理策略。

    • 全部校验:全量处理所有非分区表,不做筛选。
    • 全部忽略:忽略所有非分区表,不做校验。
    • 按更新时间过滤:只处理更新时间在校验范围内的非分区表。注意:非分区表非insert写入业务,元数据更新时间存在偏差,按更新时间过滤分区时可能遗漏分区,慎重选择该选项!

    高级选项

    • 分区筛选方式:通过“更新时间”和”创建时间“,判断分区是否属于校验范围内。
      • 更新时间:指分区内数据最后一次被修改或更新的时间戳。如果您关心的是分区内数据的最新状态或最近一段时间内的数据变更,可以选择“更新时间”作为筛选条件。
      • 创建时间:指分区被首次创建时的时间戳。如果您关心的是分区从创建开始到某个时间点内的数据,可以选择“创建时间”作为筛选条件。
    • 分区上限:用于限制查询或处理的分区数量,避免不必要的全表扫描或处理大量不需要的数据。默认为3,取值范围:1~50。

      例如,设置分区上限为3,系统只处理降序排序后分区列表中的前3个分区。

    • 单SQL字段上限:每条SQL查询的表的字段上限。单SQL查询的字段数越多,执行时间越长, 如果设置的字段数上限过少,则可能形成更多SQL,影响获取校验结果的效率。默认是0,即无上限,取值范围100~500。

    OBS桶配置检查

    -

    • 如果需要将任务日志文件和内容校验结果上传到OBS桶进行管理和分析,请参考配置OBS桶配置日志桶。配置了日志桶后,会默认使用日志上传功能,将日志数据和内容校验结果上传到指定的OBS桶中。
    • 如果不需要将任务日志文件和内容校验结果上传到OBS桶,请勾选“我确认仅需在Edge侧查看日志和内容校验结果,无需上传至OBS桶”。

    执行脚本

    (Hive配置参数)

    安全配置

    如果大数据集群启用了安全配置(例如Kerberos安全认证),请勾选此选项,并配置安全认证命令。配置前,需要您手动将包含认证密钥的.keytab文件上传至执行机。

    • keytab文件地址:输入.keytab文件在执行机的存放地址。
    • keytab文件用户名:输入.keytab文件对应的用户名。

    执行命令

    可以通过设置Beeline或Spark-sql命令行参数,对数据进行处理。

    • Beeline:用于与 Hive交互的命令行工具。
    • Spark-sql:用于执行 SQL 查询和分析数据。

    MaxCompute参数

    (MaxCompute组件配置参数)

    -

    根据实际需求,添加MaxCompute参数。参数详情请参考MaxCompute文档

    统计配置

    (DLI配置参数)

    参数

    根据实际需求进行配置,支持的自定义参数详情请参考自定义参数说明

    命令参数(Delta Lake和Hudi配置参数)

    安全配置(仅创建Delta Lake目的端任务时可以配置)

    如果大数据集群启用了安全配置(例如Kerberos安全认证),请勾选此选项,并配置安全认证命令。配置前,需要您手动将包含认证密钥的.keytab文件上传至执行机。

    • keytab文件地址:输入.keytab文件在执行机的存放地址。
    • keytab文件用户名:输入.keytab文件对应的用户名。

    spark-sql命令

    Spark SQL是Spark中用于结构化数据处理的模块。在Spark应用中,可以无缝地使用SQL语句亦或是DataSet API对结构化数据进行查询。更多介绍请参见SparkSQL原理。建议保持默认。

    spark-submit命令

    通过Spark基本shell命令,提交Spark应用。命令为:

    ./bin/spark-submit \
      --class <main-class> \
      --master <master-url> \
      ... # other options
      <application-jar> \
      [application-arguments]

    参数解释:

    • --class:Spark应用的类名。
    • --master:Spark用于所连接的master,如yarn-client,yarn-cluster等。
    • application-jar:Spark应用的jar包的路径。
    • application-arguments:提交Spark应用的所需要的参数(可以为空)。

    以下为特定场景下需要添加的参数配置:

    • 如果创建的是阿里云 EMR且涉及Spark 3的Delta Lake源端统计任务,请添加如下参数:
      • 参数名:jars
      • 参数值:'/opt/apps/DELTALAKE/deltalake-current/spark3-delta/delta-core_2.12-*.jar,/opt/apps/DELTALAKE/deltalake-current/spark3-delta/delta-storage-*.jar'
        注意:

        参数值需要根据实际环境目录和Delta Lake 的版本进行替换。

    • 如果源端是阿里云 EMR Delta 2.1.0版本并且配置了Spark 2.4.8来处理Delta Lake数据,请添加如下参数:
      • 参数名:mgc.delta.spark.version
      • 参数值:2
    表4 指定日期校验参数配置说明

    区域

    参数

    配置说明

    基础信息

    任务名

    默认创建名称为“组件类型指定日期校验-4位随机数(字母和数字)”,也可以自定义名称。

    任务配置

    表组

    选择需要校验的表所在表组。

    执行机连接

    Hive、Delta Lake和Hudi组件配置参数。

    • 创建源端统计任务时,选择源端执行机连接。
    • 创建目的端统计任务时,选择目的端执行机连接。

    DLI连接

    数据湖探索(DLI)组件配置参数,创建目的端统计任务。选择创建的DLI连接

    元数据连接(可选)

    Hive、Delta Lake组件配置参数。

    创建Hive目的端统计任务时可配置,选择Hive目的端元数据连接。用于判断目的端分区是否存在。

    创建Delta Lake统计任务时,可以选择与表组所属集群相关的源端元数据连接,用于提升任务处理效率。

    执行时间

    设置作业自动执行时间。当作业激活后,每天都会在设置的时间自动执行。

    高级选项

    • 并发连接数:进行数据统计时,单个执行机的任务并发数。默认为3,取值范围:1~10。
      注意:

      在创建阿里云Hive校验任务时,请根据源端数据量和EMR Master节点的规格,合理设置并发连接数。建议按照以下两个条件进行设置:

      • 条件一:同时运行的任务并发数之和不超过元数据节点总核数的70%。
      • 条件二:任务分配的总资源不超过执行队列资源。计算如下:

        内存:num-executors x executor-memory x 并发数

        核数:num-executors x executor-cores x 并发数

      例如,源端总数据量为500 G,且包含10000张表,其中8张为50 G、10万分区的大表。EMR Master节点规格为8U32G。

      • 根据条件一:最大并发数 = 0.7×8=5.6,向下取整得到最大并发数为5。
      • 根据条件二:需要在后续执行命令参数配置中,选择Spark-sql,并设置如下参数:

        executor-memory = 4G

        master = yarn

        num-executors = 20

        executor-cores = 2

        driver-memory = 10G

    • 单文件SQL条数:每个需要校验的表会产生一条SQL用以获取数据摘要,每批提交给集群处理的数据文件中所包含的SQL条数。默认为10,推荐取值范围:1~50。
    • 超时时间:每个SQL语句在大数据集群上执行时的最大允许时长,单位为秒(s)。默认为600,推荐取值范围:600~ 7200。
    • 发送SMN通知:选择是否使用SMN消息通知功能,该功能可以通过电子邮件、短信或者自定义URL等方式及时通知您任务状态。
      须知:
      • 使用该功能前,需要前往SMN控制台创建主题。方法请参考创建SMN主题
      • 使用该功能可能产生少量费用,具体费用由SMN服务结算。详情请查看SMN计费说明

    数据筛选

    指定日期

    选择需要对哪些时间段内的增量数据进行校验。默认统计24小时增量数据。T代表执行时间,T-n代表执行时间前的n x 24小时。

    勾选统计连续日期,可以选择多个统计时间。

    非分区表处理策略

    选择对于非分区表的对数处理策略。

    • 全部校验:全量处理所有非分区表,不做筛选。
    • 全部忽略:忽略所有非分区表,不做校验。
    • 按更新时间过滤:只处理更新时间在校验范围内的非分区表。注意:非分区表非insert写入业务,元数据更新时间存在偏差,按更新时间过滤分区时可能遗漏分区,慎重选择该选项!

    高级选项

    单SQL字段上限:每条SQL查询的表的字段上限。单SQL查询的字段数越多,执行时间越长, 如果设置的字段数上限过少,则可能形成更多SQL,影响获取校验结果的效率。默认是0,即无上限,取值范围100~500。

    OBS桶配置检查

    -

    • 如果需要将任务日志文件和内容校验结果上传到OBS桶进行管理和分析,请参考配置OBS桶配置日志桶。配置了日志桶后,会默认使用日志上传功能,将日志数据和内容校验结果上传到指定的OBS桶中。
    • 如果不需要将任务日志文件和内容校验结果上传到OBS桶,请勾选“我确认仅需在Edge侧查看日志和内容校验结果,无需上传至OBS桶”。

    执行脚本

    (Hive配置参数)

    安全配置

    如果大数据集群启用了安全配置(例如Kerberos安全认证),请勾选此选项,并配置安全认证命令。配置前,需要您手动将包含认证密钥的.keytab文件上传至执行机。

    • keytab文件地址:输入.keytab文件在执行机的存放地址。
    • keytab文件用户名:输入.keytab文件对应的用户名。

    执行命令

    可以通过设置Beeline或Spark-sql命令行参数,对数据进行处理。

    • Beeline:用于与 Hive交互的命令行工具。
    • Spark-sql:用于执行 SQL 查询和分析数据。

    MaxCompute参数

    (MaxCompute配置参数)

    -

    根据实际需求,添加MaxCompute参数。参数详情请参考MaxCompute文档

    统计配置

    (DLI配置参数)

    参数

    根据实际需求进行配置,支持的自定义参数详情请参考自定义参数说明

    命令参数(Delta Lake和Hudi配置参数)

    安全配置(仅创建Delta Lake目的端任务时可以配置)

    如果大数据集群启用了安全配置(例如Kerberos安全认证),请勾选此选项,并配置安全认证命令。配置前,需要您手动将包含认证密钥的.keytab文件上传至执行机。

    • keytab文件地址:输入.keytab文件在执行机的存放地址。
    • keytab文件用户名:输入.keytab文件对应的用户名。

    spark-sql命令

    Spark SQL是Spark中用于结构化数据处理的模块。在Spark应用中,可以无缝地使用SQL语句亦或是DataSet API对结构化数据进行查询。更多介绍请参见SparkSQL原理。建议保持默认。

    spark-submit命令

    通过Spark基本shell命令,提交Spark应用。命令为:

    ./bin/spark-submit \
      --class <main-class> \
      --master <master-url> \
      ... # other options
      <application-jar> \
      [application-arguments]

    参数解释:

    • --class:Spark应用的类名。
    • --master:Spark用于所连接的master,如yarn-client,yarn-cluster等。
    • application-jar:Spark应用的jar包的路径。
    • application-arguments:提交Spark应用的所需要的参数(可以为空)。

    以下为特定场景下需要添加的参数配置:

    • 如果创建的是阿里云 EMR且涉及Spark 3的Delta Lake源端统计任务,请添加如下参数:
      • 参数名:jars
      • 参数值:'/opt/apps/DELTALAKE/deltalake-current/spark3-delta/delta-core_2.12-*.jar,/opt/apps/DELTALAKE/deltalake-current/spark3-delta/delta-storage-*.jar'
        注意:

        参数值需要根据实际环境目录和Delta Lake 的版本进行替换。

    • 如果源端是阿里云 EMR Delta 2.1.0版本并且配置了Spark 2.4.8来处理Delta Lake数据,请添加如下参数:
      • 参数名:mgc.delta.spark.version
      • 参数值:2
    表5 指定时间校验参数配置说明

    区域

    参数

    配置说明

    基础信息

    任务名

    默认创建名称为“组件类型指定时间校验-4位随机数(字母和数字)”,也可以自定义名称。

    任务配置

    表组

    选择需要校验的表所在表组。

    HBase连接

    HBase组件和CloudTable(HBase)组件配置参数。

    • 创建源端统计任务时,选择源端HBase连接。
    • 创建目的端统计任务时,选择目的端HBase或CloudTable(HBase)连接。

    高级选项

    • 并发连接数:进行数据统计时,单个执行机的任务并发数。默认为3,取值范围:1~10。
    • 超时时间:每个SQL语句在大数据集群上执行时的最大允许时长,单位为秒(s)。默认为600,推荐取值范围:600~ 7200。
    • 发送SMN通知:选择是否使用SMN消息通知功能,该功能可以通过电子邮件、短信或者自定义URL等方式及时通知您任务状态。
      须知:
      • 使用该功能前,需要前往SMN控制台创建主题。方法请参考创建SMN主题
      • 使用该功能可能产生少量费用,具体费用由SMN服务结算。详情请查看SMN计费说明

    数据筛选

    统计范围

    选择需要对哪段时间内的数据进行校验的。

    OBS桶配置检查

    -

    • 如果需要将任务日志文件和内容校验结果上传到OBS桶进行管理和分析,请参考配置OBS桶配置日志桶。配置了日志桶后,会默认使用日志上传功能,将日志数据和内容校验结果上传到指定的OBS桶中。
    • 如果不需要将任务日志文件和内容校验结果上传到OBS桶,请勾选“我确认仅需在Edge侧查看日志和内容校验结果,无需上传至OBS桶”。

    统计配置

    (HBase配置参数)

    运行模式

    支持以下两种运行模式:

    • YARN 模式:适用于大型分布式环境,可以充分利用集群资源,提高任务的并行度和效率。
    • Local 模式:适用于小规模数据集或开发测试环境,可以快速进行调试和验证。

    参数

    根据所选的运行模式和实际需求,添加命令行参数。

  7. 配置完成后,单击“保存”按钮,完成统计任务的创建。创建成功后,系统会自动将参数配置同步到迁移工具Edge您可以在任务列表查看创建的统计任务及其配置同步状态。
  8. 配置同步完成后,您可以选择以下两种方式执行统计任务:

    • 自动定时执行:按照设置的执行时间,自动、定时执行作业。
      1. 在任务列表,单击统计任务调度状态列的“激活”按钮,弹出激活提示窗。
      2. 单击“确认”按钮,激活自动化执行作业。
    • 手动执行:手动立即触发一次作业的执行。
      1. 在任务列表,单击统计任务操作列的“执行作业”按钮,弹出执行作业提示窗。
      2. 单击“确认”按钮,立即执行任务。

  9. 执行任务后,单击操作列的“查看实例”按钮,进入实例列表页面。在实例列表页面,可以进行如下操作:

    • 查看实例状态进度统计数据作业开始时间结束时间等信息。

      如果出现校验任务执行时间过长,页面显示不正确的情况,请把客户端执行机Driver日志级别设为ERROR。

    • 上传日志:如果您需要查看作业的执行日志,可以使用上传日志功能,将日志文件上传到您的对象存储(OBS)桶中,以便随时查看和分析。使用上传日志功能前,需要您先在迁移工具Edge上配置日志桶,配置方法请参见配置日志桶
    • 取消/终止实例:如果您需要终止自动定时执行作业或取消正在运行中的作业,可以单击操作列的“取消/终止实例”按钮,将执行中的作业取消/终止。
    • 补数:如果存在结果获取失败的表,可以单击进度统计列的“补数”按钮,对获取对数摘要失败的表进行重新获取。