使用 Apache NiFi,我想根据其他两个字段的连接向 JSON 流文件中的所有元素添加一个新字段。我正在尝试为此使用JoltTransformJSON
处理器,但是,我想使用的 Jolt 变换使用在线工具可以正常工作,但在 NiFi 中不起作用。我怀疑是版本问题,但我的 Jolt 规范可能有些愚蠢。
输入 JSON 看起来像这样......
[
{
"id": 485842,
"cc": 1,
"x": 0,
"y": null
},
{
"id": 281733,
"cc": 1,
"x": 0,
"y": 10
},
{
"id": 721412,
"cc": 12,
"x": 0,
"y": null
}
]
我想要的输出是这个......
[ {
"id" : 485842,
"cc" : 1,
"x" : 0,
"y" : null,
"id_cc" : "485842_1"
}, {
"id" : 281733,
"cc" : 1,
"x" : 0,
"y" : 10,
"id_cc" : "281733_1"
}, {
"id" : 721412,
"cc" : 12,
"x" : 0,
"y" : null,
"id_cc" : "721412_12"
} ]
我在在线网站上使用的 Jolt 变换是……
[{
"operation": "modify-default-beta",
"spec": {
"*": {
"id_cc": "=concat(@(1,id),'_',@(1,cc))"
}
}
}]
在 NiFi 中,我将JoltTransformJSON
处理器配置为具有Modify-Default
并使用这个稍微修改过的 Jolt 规范......
{
"operation": "modify-default",
"spec": {
"*": {
"id_cc": "=concat(@(1,id),'_',@(1,cc))"
}
}
}
NiFi 验证此 OK 并运行该过程。输出 JSON 仅包含一条记录,并像这样添加一个新字段
"operation": "modify-default"
是否有可以解决此问题的修改默认操作的快速修复方法,或者是否有更简单的方法使用移位操作?
在此先感谢您的任何指点。