Azure Data Factory数据流转换中如何获取流的最新首行数据
Azure Data Factory 数据流获取全表最新行实现方法
你需要实现的是SELECT TOP 1 * FROM XYZ ORDER BY timestamp DESC的等效逻辑,以下是两种可行方案:
方案1:排序转换直接限幅(最简方案)
完全匹配你的需求,无需额外函数,操作步骤:
- 在源组件输出后添加排序转换
- 排序配置:
- 排序列选择
timestamp字段,排序方向设置为降序 - 找到「限制行数」配置项,输入数值
1
运行后该转换直接输出排序后的第一行数据,和你写的SQL逻辑完全一致。
- 排序列选择
方案2:行号+筛选(支持扩展场景)
如果后续需要扩展为按分组取每组最新行,可使用该方案:
- 第一步依旧添加排序转换,按
timestamp降序排序 - 添加窗口转换:
- 若不需要分组,「分区依据」留空;若需要分组取每组最新,填入对应的分组字段
- 排序配置保持
timestamp降序 - 新增窗口列
row_num,表达式填rowNumber()
- 添加筛选转换,筛选条件写
row_num == 1,输出结果即为最新行
优化提示:如果你的源数据是支持SQL查询的数据库,可直接在源组件选择「查询」输入模式,直接写入你的目标SQL语句,在源侧过滤数据能大幅降低数据流处理开销,运行效率更高。
内容的提问来源于stack exchange,提问作者suraj_123
相关产品推荐
相关产品推荐

