Azure Data Flow中移除JSON转义字符及文件压缩分区问题
解决Azure Data Flow输出json.gz未压缩及JSON转义符问题
一、修复json.gz未压缩问题
问题根源大概率是Data Flow接收器的压缩配置未正确开启,按以下步骤检查:
- 打开Data Flow的json.gz接收器设置选项卡,找到压缩下拉框,确认选择
gzip(而非默认的None) - 确保输出文件的后缀明确设置为
.json.gz,避免ADF对文件类型识别错误 - 暂存的JSON文件保持纯文本格式,不要提前压缩,让Data Flow负责压缩逻辑
二、移除JSON转义字符
转义符\出现的核心原因是复制活动生成暂存JSON时,将嵌套JSON结构错误转义为字符串,按以下顺序处理:
- 调整复制活动的暂存JSON接收器设置:
- 进入复制活动的接收器配置,在JSON格式设置中,选择保留原始JSON结构,禁用自动转义功能(将转义字符设置为无)
- 确认未勾选"将嵌套JSON转为字符串"类的选项,确保嵌套字段(如
businesses)以原生JSON格式存储,而非转义后的字符串
- Data Flow内应急处理(若复制活动未修正):
针对带转义符的字段,添加派生列转换,使用函数还原:- 若要直接移除转义符:
replace(businesses, '\\', '') - 若要将转义字符串解析为JSON对象:
json(businesses)
- 若要直接移除转义符:
- 校验Data Flow接收器的JSON输出格式:
在接收器设置选项卡的JSON格式部分,选择每行一个对象或数组模式,确保输出为标准JSON结构,避免额外转义
三、确保轮询分区生成指定数量文件
在Data Flow接收器的优化选项卡:
- 确认分区类型选择
Round Robin - 设置目标分区数,同时注意:若数据源数据量过小,ADF会自动合并分区,需保证数据量足以支撑指定的分区数量
内容的提问来源于stack exchange,提问作者Prem
相关产品推荐
相关产品推荐

