Azure Data Factory中自动筛选坏行并复制有效行的方案咨询
Azure Data Factory自动化筛选坏行方案
方法1:利用复制活动的内置容错功能
这是处理格式/类型类坏行最快捷的方式,无需复杂分支:
- 打开复制活动的设置标签页,找到「容错」区域
- 勾选「跳过错误行」,设置「允许跳过的最大错误行数」(比如设为1000覆盖全部数据)
- 配置「错误日志路径」(指定存储账户下的文件夹),坏行会被自动写入该路径的日志文件,方便后续排查
- 启动活动后,ADF会自动跳过无法解析的行(如数据类型不匹配、字段缺失、格式错误等),仅复制有效行
方法2:用数据流(Data Flow)实现自定义规则筛选
适合需要基于业务规则过滤坏行的场景,灵活性更高:
- 创建数据流,添加源数据集后,使用筛选转换:
在筛选条件中定义有效行的规则,例如:
不符合条件的行直接被过滤,仅保留有效行继续流转isNotNull(user_id) && isDate(register_time) && age > 0 && length(email) > 5 - 进阶用法:使用验证转换,将不符合规则的行路由到错误流,输出到单独的错误数据集,有效行正常写入目标
方法3:映射阶段的容错配置
针对字段不匹配类的坏行:
- 在复制活动的映射标签页,开启「自动映射」
- 启用「字段映射容错」,设置「源字段缺失时的处理方式」(如忽略或填充默认值)、「目标字段缺失时的处理方式」
- 这种配置可以避免因个别字段缺失或不匹配导致整批复制失败,自动跳过或修正这类行
注意事项
- 如果坏行是格式/数据类型问题,优先用方法1;如果涉及业务规则校验,优先用方法2
- 无论哪种方案,都建议开启错误日志,便于后续分析坏行的具体原因
内容的提问来源于stack exchange,提问作者Pavan Kumar
相关产品推荐
相关产品推荐

