Nifi配置UpdateAttribute实现字符串时间戳转日期
数据处理流程如下:查询源数据库,将Avro转为Json格式,然后使用EvaluateJsonPath修改字段名,最后使用replaceText将参数组成SQL,最后PutSQL。
一、字段串时间戳导致无法插入数据库
1.1 list queue
检查matched到的69条记录
1.2 查询其中一条数据详情
在这里我们可以发现ExectedDeliveryTime在数据库中是日期类型,但是查询出来在Nifi中显示的却是时间戳。这样直接插入数据库是肯定不能成功的。
所以需要方法将这个时间戳转为日期格式
二、添加UpdateAttribute
*2.1 updateAttribute配置
添加新参数为字段名,并配置转换逻辑。
将ExpectedDeliveryTime先使用toNumber转为数值类型,再使用toDate转为日期类型,再使用format格式化
${ExpectedDeliveryTime:toNumber():toDate("yyyy-MM-dd"):format("yyyy-MM-dd")}
2.2 数据处理全流程
添加updateAttribute,将该组件放在EvaluateJsonPath后即可。
2.3 list queue
2.4 查看其中一条数据处理结果
可以看到这里已经将字符串时间戳转为了日期类型,已经成功。