【发布时间】:2018-05-12 02:39:50
【问题描述】:
我正在拆分字段列表并尝试在最后合并它们。我有 2 种字段,标准字段和自定义字段。我处理自定义字段的方式与标准字段不同。
{
"standardfield1" : "fieldValue1",
"customField1" : "customValue"
}
这些必须翻译成
{
"standardfield1" : "fieldValue1",
"customFields" : [
{ "type" : "customfield",
"id" : 1212 //this is id of the customField1, retrieved at run time
"value" : "customValue"
} ]
}
我的 mergeRecord 架构设置为
{
"name": "custom field",
"namespace": "nifi",
"type": "record",
"fields": [
{ "name": "id", "type": "string" },
{ "name": "type", "type": "string" },
{ "name": "value", "type": "string" }
]
}
根据我的需要,我将标准字段的内容设置为新的流文件属性,因为我可以从中提取它,并将空值放入流文件内容中。
因此,自定义字段和标准字段都连接到 mergeRecord 处理器。
只要有效负载中提供自定义字段,它就可以正常工作。如果只有标准字段而没有自定义字段,则 mergeRecord 处理器不会合并任何内容,也不会失败,它只会抛出 NullPointerException 并且流文件会永远卡在队列中。
我想让 mergeRecord 处理器甚至可以合并空的内容流文件。
任何帮助将不胜感激
【问题讨论】:
标签: apache-nifi