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

如何在Azure Data Factory Lookup中按时间戳排序数据(无需额外服务)

在Azure Data Factory Lookup活动中按时间戳升序读取文件

无需逻辑应用、函数或数据流的实现方案

核心思路

借助Lookup活动的查询排序能力直接获取升序排列的文件列表,再通过ForEach顺序遍历读取数据。

步骤1:配置Lookup活动获取排序后的文件列表

  1. 构建目标存储(Blob/ADLS Gen2等)的数据集,指向存放10个文件的文件夹,不指定具体文件名。
  2. 添加Lookup活动并关联上述数据集:
    • 若依赖文件的LastModified属性排序:在查询选项中输入 ORDER BY LastModified ASC
    • 若依赖文件名中的时间戳(如data_202405011200.csv):根据文件名格式提取时间串排序,例如 ORDER BY SUBSTRING(name, 5, 12) ASC(自行调整SUBSTRING的起始位置和长度匹配你的时间格式)
  3. 按需勾选递归(如果文件分布在子文件夹中),确保所有目标文件被纳入查询范围。

步骤2:验证排序结果

运行Lookup活动后,在Monitor页面查看活动输出,确认value数组中的文件已按时间戳升序排列。

步骤3:顺序遍历读取文件

添加ForEach活动,将Lookup的输出@activity('Lookup文件列表').output.value作为输入:

  • 开启顺序执行(必须开启,保证按排序后的顺序读取)
  • 在ForEach内部添加Copy活动,将源数据集的文件名设置为@item().name,指向当前循环的文件,完成数据读取。

关键提示

  • 文件名中的时间戳必须使用可排序的格式(如YYYYMMDDHHMMSS),避免使用MM/DD/YYYY这类无法直接通过字符串排序的格式。
  • 确认目标存储支持Lookup的查询语法(Blob/ADLS Gen2均支持ORDER BY语句)。

内容的提问来源于stack exchange,提问作者20R212 - DINESH KUMAR P

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 06:35:03