Azure Data Factory中JSON的Epoch时间被识别为Integer而非Long的问题
解决Azure Data Factory数据流中JSON Unix时间字段类型识别问题
在处理包含Unix时间字段的JSON文件时,若ADF数据流将readings数组内的time字段自动识别为INTEGER而非LONG,导致后续计算失败,可通过以下几种方式解决:
手动覆盖数据源Schema
- 进入JSON数据集的连接选项卡,完成Schema导入后,直接将
readings.time的字段类型从integer修改为long - 保存数据集后,返回数据流刷新数据源Schema,确认类型更新生效
数据流中添加派生列转换
- 在数据源节点后添加派生列转换
- 使用表达式将
readings数组内的time字段强制转为long类型,替换原字段:map(readings, (r) => extend(r, time = toLong(r.time))) - 后续计算节点基于转换后的字段执行即可避免类型错误
自定义JSON Schema指定类型
- 在JSON数据集的连接选项卡中,添加自定义JSON Schema,明确指定
readings.time为int64类型:{ "type": "object", "properties": { "readings": { "type": "array", "items": { "type": "object", "properties": { "time": { "type": "integer", "format": "int64" } } } } } } - 保存配置后重新加载数据源,字段将被正确识别为LONG类型
内容的提问来源于stack exchange,提问作者Thanatos
相关产品推荐
相关产品推荐

