我尝试了建议通过使用“UpdateAttribute”处理器消除时间戳格式转换错误的解决方案,即 ConvertJSONtoSQL-> UpdateAttribute-> PutSQL
在我使用的 UpdateAttribute
Property Value
--------------- ------------------------
sql.args.4.value -> ${sql.args.4.original:format("yyyy-MM-dd HH:mm:ss")}
日志:
sql.args.4.value 的值为 '',无法在 org.apache.nifi.processors.standard.PutSQL.setParameters(PutSQL.java:690) 处转换为时间戳
在不使用 UpdateAttribute 的情况下,我还尝试了直接 ConvertJSONtoSQL-> PutSQL 。日志显示与引用“2017 年 8 月 14 日 10:17:00 EDT”中的日期时间值相同的错误,即当我们使用 UpdateAttribute 时,它只是删除该值并放置空引号,但错误未解决。
注意: MySQL 表具有这些列的 datetime 数据类型,不确定为什么尝试转换为 TimeStamp 会出错。我还在本地主机上的源表和目标表中尝试了 Timestamp 数据类型,但不走运!