反馈已提交

网络繁忙

定时任务脏数据处理说明

  • 文档创建者:Roxy
  • 历史版本:13
  • 最近更新:Wendy123456 于 2025-09-17
  • 1. 概述

    定时任务运行时若遇到脏数据,任务会报错并终止。本文说明如何查看脏数据产生的原因及如何处理脏数据。

    注:实时管道任务的脏数据说明请参见:实时管道任务处理脏数据

    2. 脏数据定义

    1)与目标字段配置不匹配而无法写入的数据(目标字段长度/类型不匹配、目标字段缺失、违反目标字段非空约束等)。

    2)当写入方式-主键冲突策略为「主键相同,记录为脏数据」时,主键冲突的数据将被视为脏数据。

    3. 查看脏数据条数及原因

    1)定时任务运行时,若存在脏数据,日志中将会报错。如下图所示:

    注:建议将 日志等级 设置为 INFO,日志信息会更加详细。

    30.png

    「统计」Tab页下,可看到脏数据具体条数,点击条数,可看到错误类型和错误原因。如下图所示:

    31.png

    2)用户若想查看到所有脏数据的信息,可到%FDL_HOME%\logs\fanruan.log文件中进行查看。

    3)用户若想遇到脏数据就通知给指定用户,可在结果通知中勾选「脏数据通知」按钮。如下图所示:

    详情请参见:任务控制-结果通知

    34.png

    4. 处理脏数据

    4.1 忽略脏数据

    若用户希望任务具有一定容错性,即遇到脏数据任务继续运行,不进行报错,运行状态为成功且脏数据不写入到目标表中(正常的数据会顺利写入到目标表中,可设置脏数据阈值。如下图所示:

    详情请参见:任务控制-容错机制

    注:若不配置「脏数据容忍」,只要遇到脏数据就会导致任务失败。

    1758105726544253.png

    若脏数据条数未超过阈值(最大可设置为10000),日志信息如下:

    1758106424672418.png

    脏数据条数超出脏数据阈值后,任务会报错。

    4.2 脏数据处理后写入到目标表

    用户若希望脏数据写入到目标表,需要根据日志排查脏数据出现原因,修正后重新运行任务或者 重试任务

    产生脏数据后,重试任务的处理场景:

    场景
    增量同步的方式
    重试后是否会存在数据问题
    建议处理措施
    全量同步
    --
    增量同步-使用时间戳


    动态参数:如:配置 now-1 作为数据范围,每次更新前一天数据


    在重试时,用户可以指定本次运行的临时任务参数值

    且用户的任务设计需要支持幂等,即同一数据范围的定时任务需要支持多次运行

    获取目标表的最新数据时间戳

    如:每次任务先从目标表获取最大的时间戳,作为本次同步的起始时间

    用户需要手动删除目标表大于本批次的数据,以进行重试

    且用户的任务设计需要支持幂等,即同一数据范围的定时任务需要支持多次运行

    自定义配置表存储断点

    如:每次任务最后一步存储本次同步的最大时间至一张表存储

    用户需要手工修改断点值,以进行重试

    且用户的任务设计需要支持幂等、即同一数据范围的定时任务需要支持多次运行

    全表比对--



    附件列表


    主题: 运维中心
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持