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

如何在Azure Data Factory中使用7z格式压缩文件?

在Azure Data Factory中实现7z压缩或高压缩率替代方案

首先明确:ADF的原生数据集(包括你用到的DelimitedText)确实不支持直接将文件压缩为7z格式,不管是数据集配置还是复制活动的压缩设置里都没有这个选项。要实现7z压缩,得借助外部计算资源,以下是可行的方案:

实现7z压缩的方法

  • Azure Function:
    编写C#或Python的Function,借助7z相关库(比如C#用SharpCompress,Python用py7zr)实现压缩逻辑。ADF中通过Web活动调用该Function,传入待压缩文件的ADLS Gen2路径,Function读取文件后压缩为7z格式再写回存储。注意处理大文件时用流式读写,避免内存溢出,同时调整Function的超时时间和内存配置。
  • Azure Batch:
    部署7z命令行工具到Batch池,创建Batch作业执行7z a -t7z <输出路径> <输入文件路径>命令。ADF通过Batch活动触发该作业,适合批量处理多个大文件的场景,需要提前配置Batch池与存储账户的访问权限。
  • 自定义活动(Azure VM/容器):
    在ADF自定义活动中使用Azure VM或容器实例,运行7z命令行完成压缩。这种方式需要自行管理计算资源,适合已有固定计算环境的场景。

高压缩率替代方案(无需额外开发)

如果你不想额外开发,ADF原生支持以下比zip压缩率更高的格式,适合文本类大文件(你的DelimitedText属于这类):

  • Gzip:在DelimitedText数据集的「压缩类型」中选择Gzip,压缩率远高于zip,且压缩速度较快。
  • Bzip2:压缩率比Gzip更高,但压缩耗时稍长,同样可直接在数据集配置中选择该选项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 06:42:08