如何使用Azure Data Factory将JSON对象数组存入SQL数据库?
解决Azure Data Factory处理数组JSON时的类型推断错误
针对你遇到的Data type of column 'id' can't be inferred from 1st row of data错误,按以下步骤调整即可解决:
1. 修正源数据集的JSON路径配置
因为API返回的是包含items数组的外层JSON对象,必须让ADF直接读取数组内的元素:
- 打开源数据集配置页,找到JSON格式设置
- 在
JSON path字段填入$.items,这样ADF会将数组中的每个对象作为独立行处理,而非读取整个外层对象
2. 手动指定id列的数据类型
ADF自动推断类型失效时,强制指定类型即可:
- 方法一:在复制活动映射中设置
打开复制活动的映射标签,找到id列,点击列右侧的类型下拉框,根据API返回的实际类型选择(如int32、string),不要保留「自动推断」选项 - 方法二:在源数据集结构中预定义
打开源数据集的结构标签,手动添加所有需要的列(包括id)并指定对应数据类型,复制活动会直接沿用该结构,跳过自动推断步骤
3. 排查首行数据的id值
如果前两步未解决,检查API返回的首行数据中id是否为null或空值——ADF优先用首行推断类型,空值会导致推断失败。这种情况要么按上述方法手动指定类型,要么在数据流入复制活动前用筛选活动过滤掉id为空的行
内容的提问来源于stack exchange,提问作者Simon
相关产品推荐
相关产品推荐

