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

Synapse Pipeline:如何从通配符路径的文件名提取年份与国家

在Azure Data Factory Copy Activity里从文件名提取年份、国家并新增列

一、先把源数据集的通配符路径设置好

假设你的ADLS文件存在容器名/文件夹名/下面,直接把文件路径改成:

your-container/your-folder/File * *.csv

这样就能匹配所有File XXXX XX adj.csv格式的文件,其中第一个*对应年份,第二个对应国家,正好符合你的需求。

二、写动态表达式提取年份和国家

ADF有内置的字符串处理函数,直接用这些函数从文件名里抠出你要的值:

提取年份的表达式

split(split(item().name, ' ')[1], '.')[0]

简单说下逻辑:

  • item().name 就是当前正在处理的文件名,比如File 2024 US adj.csv
  • 先用split(item().name, ' ')按空格把文件名拆成数组,得到["File", "2024", "US", "adj.csv"]
  • 数组里第2个元素(索引1)就是年份2024,最后用split(..., '.')处理下,避免文件名后缀干扰,确保拿到纯年份数字

提取国家的表达式

split(split(item().name, ' ')[2], '.')[0]

逻辑和年份一致:按空格拆分后取数组第3个元素(索引2),就是国家代码US,同样处理后缀保证值干净。

三、在Copy Activity里配置新增列

不用额外开数据流动,直接在Copy Activity的映射标签页操作:

  • 点击「添加列」,输入列名年份,在「源」输入框粘贴上面的年份表达式
  • 再添加国家列,粘贴国家表达式即可

四、别忘了测试表达式

在ADF的表达式编辑器里点「测试」,输入你的测试文件名File 2024 US adj.csv,确认返回的是2024和US,没问题再运行任务。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 21:37:13