nifi json转化分片失败

问题遇到的现象和发生背景

nifi 从hive仓库提取到的数据在转json分片时报错,

img


img

ConvertAvroToJSON

img

SplitJson

img

操作环境、软件版本等信息

nifi,linux

解决这个问题的最佳方式是使用NiFi的EvaluateJsonPath Processor来解析JSON字符串,然后使用UpdateAttribute Processor来添加需要分割的属性并填充值。另一种解决方案是使用NiFi ReformatRecord Processor,它可以把JSON字符串重新格式化为字段/值对,然后使用SplitText Processor将它们拆分成不同的记录。

by craft apt

在 NiFi 中,处理 JSON 数据时可能会出现分片失败的情况。这通常是因为 JSON 数据中包含了一些不规范的字符或格式不正确,导致 JSON 解析器无法正常解析数据。

为了解决这个问题,可以尝试以下几个方法:

(1)检查 JSON 数据的格式是否正确,特别是检查是否缺少了一些必要的标记符号,如花括号、方括号等。

(2)使用 EvaluateJsonPath 去检查 Json 的数据类型和结构,以确保每个属性的值的类型与目标属性类型相匹配。

(3)尝试在 JSON 解析器中使用严格模式,以确保 JSON 数据的格式是符合规范的。可以通过设置 Record Reader 和 Record Writer 的属性来启用严格模式。

(4)尝试使用一些第三方工具,如 Jq、Jackson、Gson 等,来对 JSON 数据进行格式化和解析,这些工具通常有更好的错误处理能力,可以帮助你更好地诊断和解决问题。

如果以上方法都不行,那么可以尝试将 JSON 数据转换为其他格式,如 CSV、XML 等,然后再尝试进行处理。