要使用Apache Nifi 1.7.1展平JSON数据,并使用分隔符进行分隔,可以使用以下解决方法:
使用JoltTransformJSON处理器: a. 在流程中添加一个JoltTransformJSON处理器。 b. 在处理器的属性中,设置"Jolt Specification"为以下内容:
[
{
"operation": "shift",
"spec": {
"*": "&"
}
}
]
c. 设置"Output Type"为"Multiple Flowfiles",这将生成多个流文件,每个流文件对应一个展平后的JSON对象。 d. 设置"Destination"属性为一个目录路径,用于存储生成的流文件。
使用SplitJson处理器和EvaluateJsonPath处理器: a. 在流程中添加一个SplitJson处理器。 b. 在处理器的属性中,设置"JsonPath Expression"为"$.",这将按顶级键将JSON对象拆分为多个流文件。 c. 添加一个EvaluateJsonPath处理器。 d. 在处理器的属性中,设置"Destination"为"flowfile-attribute",设置"JsonPath Expression"为"$.",这将在每个流文件中添加一个属性,属性名称为JSON中的顶级键,属性值为对应的值。 e. 添加一个ReplaceText处理器,用于添加分隔符。 f. 在处理器的属性中,设置"Search Value"为"\n"(换行符),设置"Replacement Value"为你想要的分隔符,例如","。 g. 配置其他处理器或存储流文件的目标,根据你的需求。
以上是两种使用Apache Nifi 1.7.1展平JSON数据并使用分隔符进行分隔的解决方法。你可以根据你的流程需求选择适合你的方法。