如何利用Apache NiFi Jolt Transform拆分JSON的dateTime字段
Apache NiFi Jolt Transform 拆分dateTime为date和time的解决方案
完全可以通过Jolt的split和remove操作组合实现这个需求,下面是具体的转换规范和使用说明:
Jolt 转换规范(Spec)
[ { "operation": "modify-overwrite-beta", "spec": { "date": "=split(' ', @(1,dateTime))[0]", "time": "=split(' ', @(1,dateTime))[1]" } }, { "operation": "remove", "spec": { "dateTime": "" } } ]
规范解释
- modify-overwrite-beta操作:负责新增
date和time字段,通过split(' ', @(1,dateTime))把原dateTime字段按空格拆分成数组,分别取数组第0位(日期部分)和第1位(时间部分)赋值给新字段。 - remove操作:删除不再需要的原
dateTime字段。 - 原有
sensorId和dataValue字段会被自动保留,无需额外配置。
NiFi 配置步骤
- 在NiFi画布中添加JoltTransformJSON处理器;
- 双击处理器,在
Properties标签页找到Jolt Specification属性,粘贴上面的JSON规范; - 配置好输入输出关系,运行处理器即可完成转换。
示例验证
输入JSON:
{"sensorId":2, "dataValue":26.7, "dateTime":"2020:12:29 14:20:31"}
输出JSON:
{"sensorId":2, "dataValue":26.7, "date":"2020:12:29", "time":"14:20:31"}
内容的提问来源于stack exchange,提问作者Dineth S Gimhana
相关产品推荐
相关产品推荐

