NiFi Jolt处理器JSON嵌套数组转换Spec编写方法
Apache NiFi Jolt结构转换Spec配置
适用场景
针对给定的嵌套告警JSON结构,完成层级扁平化、字段重命名转换,输出指定格式结果。
可用Jolt Spec
直接将以下配置填入NiFi的Jolt处理器的Spec参数区即可:
[ { "operation": "shift", "spec": { "alert_array": { "alerts": { "*": { "alertId": "alert_array[&1].Id", "severity": "alert_array[&1].speed", "alert_type": "alert_array[&1].type" } } } } } ]
规则逻辑说明
- 仅使用
shift操作即可完成全部转换,无需串联多个Jolt步骤 - 遍历原路径
alert_array.alerts下的所有数组元素,通过&1引用当前元素的数组下标,保证输出数组元素顺序和原数组完全一致 - 逐字段完成重命名映射:原字段
alertId映射为目标字段Id,原字段severity映射为目标字段speed,原字段alert_type映射为目标字段type - 自动移除原结构中
alert_array节点下包裹alerts数组的冗余对象层级,直接将转换完成的数组挂载到输出结构的alert_array节点下,完全匹配目标结构要求 - 经测试,将题目提供的源数据输入配置了上述Spec的Jolt处理器,输出结果和预期完全一致,无字段缺失、结构错位问题
内容的提问来源于stack exchange,提问作者Neeraj
相关产品推荐
相关产品推荐

