Azure Data Factory中Copy Data活动未完整读取文件问题咨询
排查 Copy Data 活动数据不完整问题的解决方案
1 源数据集配置排查
- 校验txt文件行分隔符配置:确认设置的分隔符和源文件实际换行符匹配,如果源文件混合了
\n、\r\n两种换行符,默认配置会提前终止读取,可将分隔符设置为「自动检测」或明确指定为对应格式 - 校验列分隔符配置:如果某行存在未转义的列分隔符字符,会导致列数不匹配被自动跳过,建议开启「跳过不兼容行」的日志输出,确认是否有大量行被过滤
- 校验Blob路径筛选规则:如果配置了前缀/后缀筛选、日期分区过滤,确认规则覆盖到了上月的文件范围,比如日期格式化字符串是否出现了月份偏移错误(例如把
MM错写为mm导致匹配分钟而非月份)
2 Copy Data 活动配置排查
- 检查是否设置行计数阈值:如果配置了
maximum rows参数,会限制单次读取的最大行数,确认该参数处于未设置状态(默认读取全量数据) - 检查故障容错配置:如果开启了「遇到错误时继续」但未配置错误日志,可能因个别行的类型转换错误、空值错误导致整批行被静默丢弃,建议临时关闭该配置复现问题,或开启错误日志输出查看丢弃原因
- 开启数据一致性校验:Copy Data活动支持开启源和目标的行计数校验,开启后如果两端行数不一致会直接报错,避免静默写入不完整数据
3 目标端配置排查
- 检查SQL表约束限制:如果表存在主键冲突、唯一索引冲突、非空约束、类型长度限制,不符合要求的行插入时会被数据库拒绝,检查Copy Data活动的运行日志是否有
Bulk insert failed类的报错信息 - 检查写入配置:如果使用了预写脚本(pre-copy script),确认脚本不会误删除上月的历史数据,或者截断了部分分区数据
内容的提问来源于stack exchange,提问作者Xkid
相关产品推荐
相关产品推荐

