如何在Azure Data Factory中仅解压.csv文件?
在Azure Data Factory中仅解压压缩包内的.csv文件方案
完全可以实现,主要有两种常用方式:
方法一:直接用复制活动的文件筛选功能
- 配置源数据集时,选择你的压缩包(比如Zip格式),并正确设置对应压缩类型。
- 在复制活动的源选项里,开启“从压缩文件读取”,然后在文件筛选中填入
*.csv。这样复制活动会自动跳过压缩包内的非csv文件,只解压并读取符合条件的.csv文件,无需解压整个包。
方法二:用Azure Function实现自定义选择性解压
如果需要更复杂的筛选逻辑(比如匹配特定命名规则的csv、处理嵌套压缩包等),可以用Azure Function配合ADF:
- 编写一个Azure Function,逻辑为读取目标压缩包,遍历内部文件列表,只将后缀为.csv的文件提取到指定存储路径(比如Blob Storage)。
- 在ADF中添加Azure Function活动,调用这个函数完成选择性解压,之后再用复制活动处理提取出的csv文件。
注意事项
- 如果压缩包内有嵌套文件夹,要确保筛选规则能覆盖到子路径下的csv文件(复制活动的筛选支持通配符,比如
**/*.csv可匹配所有子路径的csv)。 - 建议先用小型测试压缩包验证配置,确认筛选逻辑生效后再处理大备份包,避免不必要的耗时。
内容的提问来源于stack exchange,提问作者zach
相关产品推荐
相关产品推荐

