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

如何在Azure Data Factory数据流将CSV写入Azure Data Lake Gen2时移除多余文件

ADF数据流写入ADLS Gen2临时状态文件问题解答

你在Sink输出目录看到的4个文件中,除了你预期的业务数据文件外,剩下的_started、_committed、_SUCCESS三类文件是ADF数据流底层Spark引擎使用HDFS兼容提交协议时生成的作业状态元数据,不属于业务数据范畴。


是否可以避免生成这三类文件?

可以直接在配置层面关闭生成逻辑:
进入对应数据流的Sink配置页,在设置选项卡中找到禁用提交日志生成(部分区域版本显示为“隐藏临时文件”)选项,勾选后重新发布运行作业即可,调整后仅会输出你配置的业务数据文件,不再生成额外的状态文件。


对应的最佳实践是什么?

  • 若下游处理任务会直接扫描Sink输出目录的全部文件,建议直接关闭提交日志生成,避免下游读取时将状态文件识别为数据文件引发格式报错、数据统计异常等问题
  • 若你需要保留作业运行轨迹用于后续故障排查,可以保留提交日志,同时在下游数据读取逻辑中添加文件名过滤规则,直接忽略以_开头的隐藏文件即可
  • 大规模批量同步、高频率调度的数据流作业,建议关闭提交日志生成,减少小文件写入量,降低ADLS Gen2的存储开销与目录扫描性能损耗

已生成的状态文件是否需要删除?

根据你的使用场景判断即可:

  • 无作业排查、审计需求的前提下可以直接删除,不会影响已写入的业务数据的完整性与可读性
  • 有排障、审计需求的场景可以将这部分文件归档到冷存储层,保留30~90天周期后再删除即可

后续数据处理过程中是否需要用到这些文件?

常规业务数据处理流程(包括数仓加工、数据分析、数据同步等)都不需要用到这部分文件,这些文件仅记录Spark作业的提交时序、运行状态等信息,仅当你需要排查Sink写入失败、数据丢失、作业耗时异常等问题时,才需要用到这些文件的内容定位根因。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 22:36:02