4

我尝试了建议通过使用“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 数据类型,但不走运!

4

1 回答 1

3

我找到了我的问题的答案

sql.args.n.value -> ${sql.args.n.value:format("yyyy-MM-dd HH:mm:ss.SSS")}.

于 2017-08-15T20:26:43.683 回答