【 使用环境 】测试环境
【 OB or 其他组件 】ob-loader-dumper
【 使用版本 】社区版4.2.1
【问题描述】obdumper-4.2.1导出表数据量和实际表数据量不一致,表中实际有1758730条记录,但是obdumper导出后,数据量只有1549890条
【复现路径】无
【附件及日志】
表中数据量:
obdumper导出数据量
【 使用环境 】测试环境
【 OB or 其他组件 】ob-loader-dumper
【 使用版本 】社区版4.2.1
【问题描述】obdumper-4.2.1导出表数据量和实际表数据量不一致,表中实际有1758730条记录,但是obdumper导出后,数据量只有1549890条
【复现路径】无
【附件及日志】
表中数据量:
发下导出命令,导出是否是分区表,是否指定where条件
导出命令:
obdumper -h localhost -P 2881
–sys-user root@sys --sys-password password
–user root@scm --password password
–database database
–sql
–ddl
–table ‘base_steel_coil_info_clone’
-f path
导出的是ddl,还要看下导出数据和导入数据的命令,信息建议脱敏下
导出数据的命令:
obdumper -h localhost -P 2881
–sys-user root@sys --sys-password password
–user root@scm --password password
–database database
–sql
–ddl
–table ‘base_steel_coil_info_clone’
-f path
使用导出的文件,再导入到另一个库没有问题,数据量和导出的量一致,但是导出的量数据源的表数据量不一致;表没有分区
那么就是这个库导入的数据不一致,库有什么差异吗
应该是我没说清楚,不考虑导入的问题,现在的情况是:我在A库的a表生成了200W的数据,但是使用obdumper导出a表的结构和数据后,发现只导出了170W条,少了30W条;证据是obdumper的日志显示导出了170W条 和 把导出的数据导入到b表后,做count,也是170W条,比数据源少了30W
一致性读导致的吗
不清楚,我目前是设置的单节点,OB-CE4.2.10
导出的过程中你的表的数据有增加吗
没有新增任何数据
换成 ob-loader-dumper-4.3.3.1-RELEASE,导出数据的数据量变正常了
所以,工具类建议使用最新版本。少走弯路
解析深度限制(ClickHouse参数)
若底层数据库是ClickHouse,其默认参数 max_parser_depth 可能限制了大数据量的导出。该参数默认值为1000,当查询复杂度或数据量过大时会导致部分数据截断。
增量抽取配置问题
如果导出任务配置为增量抽取,需检查:
增量字段类型:是否为日期型或整型(推荐日期型)。
滚动覆盖逻辑:若数据存在历史更新,需使用「增量滚动覆盖」模式而非普通增量抽取。
时间范围覆盖:导出任务的时间范围是否覆盖完整数据周期,避免遗漏更新。
数据任务与表名映射错误
导出任务名与实际表名不一致时,可能导致数据映射错误或部分数据未被正确抽取。需检查配置映射关系。