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

Azure Data Factory复制数据活动合并文件行顺序混乱求助

解决Azure Data Factory复制数据活动合并文件时的行顺序问题

问题原因

复制数据活动默认会并行读取源文件夹中的文件,不会保证文件的读取顺序,所以合并后的行顺序随机,每次运行结果都可能不同。

解决方案

要实现先较早日期文件夹(A)的所有行、再最新日期文件夹(B)的所有行的合并顺序,可按以下步骤操作:

1. 按日期排序获取目标文件夹列表

  • 使用Get Metadata活动,获取源ADLS容器下的所有子项,勾选Child items选项。
  • 用Filter活动筛选出需要合并的A、B两个文件夹。
  • 添加Sort活动,根据文件夹的创建/修改日期或名称中的日期字段做升序排序,确保A文件夹排在B文件夹前面。

2. 顺序遍历文件夹并追加数据

  • 添加For Each活动,将执行模式改为顺序执行(默认是并行,这是保证顺序的关键),遍历排序后的文件夹列表。
  • 在For Each内部嵌套复制数据活动:
    • 源数据集:通过动态内容@item().path绑定当前遍历的文件夹路径,读取该文件夹下所有文件。
    • 接收器数据集:指定目标文件,将复制行为设置为追加模式,确保每次遍历的文件夹数据都追加到目标文件末尾。

3. 验证结果

运行管道后,目标文件会先写入A文件夹的所有行,再写入B文件夹的所有行,完全符合预期顺序。

关键注意事项

  • 必须将For Each活动设置为顺序执行,否则仍会并行处理文件夹,导致顺序混乱。
  • 如果文件夹名称包含可排序的日期格式(如20240501),直接按名称排序即可;若依赖系统日期字段,在Sort活动中选择对应的日期属性排序。

内容的提问来源于stack exchange,提问作者pandasandnumpy

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 01:34:51