Azure Data Factory合并JSON仅保留各文件首行,调整配置仍异常求助
Azure Data Factory合并JSON文件仅取第一行的排查方案
检查源JSON文件格式与数据集配置
- 如果JSON是数组结构(如
[{"id":1},{"id":2}]),在源JSON数据集的Connection标签中,设置JSON path expression为$[*],让ADF遍历数组内的每个对象作为单独行。 - 如果是JSON Lines格式(每行一个独立JSON对象,如
{"id":1}\n{"id":2}),开启数据集的JSON Lines选项,确保ADF读取每一行数据。 - 用数据集的Data preview功能验证,确认能看到文件内的所有行,排除文件本身的格式问题。
- 如果JSON是数组结构(如
修正Copy Activity源端配置
- 确认源数据集的文件路径配置正确:如果用通配符(如
*.json),确保匹配到两个目标文件;如果指定具体文件名,要包含两个文件(或用文件列表)。 - 若使用Lookup Activity获取文件列表,关闭Lookup的
First row only选项,确保返回所有目标文件的路径——这很可能是之前出现4000次重复的原因(循环只处理单个文件)。
- 确认源数据集的文件路径配置正确:如果用通配符(如
调整Sink与映射设置
- 确认Sink数据集的
Write behavior设为Append,避免每次写入覆盖之前的数据。 - 采用Auto mapping并验证映射关系,确保所有字段都正确映射,没有因字段不匹配导致数据被过滤。如果是手动映射,检查是否遗漏了必要字段。
- 确认Sink数据集的
通过监控定位问题
- 运行调试后,查看Copy Activity的Input/Output指标:检查
Rows read是否等于两个文件的总行数,Rows written是否与读取数一致。如果读取数不对,问题出在源端;如果写入数少,问题在Sink或映射环节。
- 运行调试后,查看Copy Activity的Input/Output指标:检查
内容的提问来源于stack exchange,提问作者Patterson
相关产品推荐
相关产品推荐

