You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Data Factory如何记录数据处理中被跳过的行?

可行方案:记录数据流中被过滤的无效行

针对你数百万行数据的场景,推荐以下几种无需依赖Lookup活动的高效方案:

1. 用数据流的Split转换分流有效/无效数据

这是最适配大数据量的方案,直接替代原来的Filter步骤:

  • 在数据流中添加Split转换,基于你原本的校验规则(比如允许的特定符号、非缺失字段)设置分流条件:
    • 分支1:符合规则的行,继续流向Cosmos DB Sink
    • 分支2:不符合规则的行,新增一个Blob Storage Sink,将这些无效行写入指定容器的.gzip文件(命名可带上时间戳,方便区分批次)
  • 这种方式不会丢失任何数据,无效行被完整留存,后续可直接打开错误文件排查误过滤情况

2. 配置Cosmos DB Sink的错误输出

如果你的无效行不仅包含校验不通过的情况,还包括写入Cosmos DB时的格式错误(比如主键重复、字段类型不匹配),可以直接在Cosmos DB Sink中配置:

  • 打开Sink的容错设置,启用“输出到错误数据集”选项
  • 指定错误数据的存储位置(Blob Storage容器),格式选择.gzip
  • 所有无法成功写入Cosmos DB的行都会被自动写入错误文件,同时保留原始数据的所有字段信息

3. 给无效行打标记后统一归档

如果需要同时保留有效数据的处理链路和无效行的标记记录:

  • 在Filter步骤前添加Derived Column转换,新增一个字段(比如is_valid),用校验规则赋值true/false
  • 后续用Split转换按is_valid字段分流,有效行正常导入Cosmos DB,无效行写入Blob日志文件
  • 这种方式可以在日志文件中清晰看到每行的校验结果,便于回溯

内容的提问来源于stack exchange,提问作者Mr. Blond

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 03:14:59