Azure Data Factory数据流写入sink时额外生成空Blob文件如何解决
ADF数据流写入ADLS出现同名空Blob的解决方案
问题根因
你遇到的空Blob生成是Azure Data Factory数据流写入ADLS Gen2时的常见配置问题:当配置的输出文件夹路径末尾未添加斜杠/时,ADF作业初始化阶段会先生成一个和文件夹同名的空占位Blob,后续正式创建文件夹后该空Blob不会被自动清理,就会出现target文件夹和空targetBlob共存的情况。
解决步骤
- 修改Sink输出路径配置:将原路径
containername/target末尾添加斜杠,改为containername/target/,明确标识该路径为文件夹类型,ADF就不会再生成同名占位空文件。 - 优化文件名命名规则:当前你使用的
toString(currentUTC())默认输出会包含ADLS不支持的冒号:字符,建议调整时间格式化规则,将命名逻辑修改为concat($TargetFileName, toString(currentUTC(), 'yyyyMMddHHmmss')),避免后续出现文件名非法报错。 - 可选优化配置:如果需要输出单个符合命名规则的文件,可在Sink的「优化」选项卡中设置分区模式为「单分区」,避免数据流默认按分片生成多个带编号后缀的parquet文件。
修改完成后重新运行数据流即可,之前生成的空targetBlob可手动删除,新作业不会再生成该冗余文件。
内容的提问来源于stack exchange,提问作者anne
相关产品推荐
相关产品推荐

