Nifi PutSQL 时间戳/日期时间错误无法转换错误

2021-11-12 00:00:00 mysql apache-nifi update-attribute

我尝试了建议使用UpdateAttribute"处理器来消除时间戳格式转换错误的解决方案,即ConvertJSONtoSQL-> UpdateAttribute--> PutSQL

I tried the solution suggested to remove the timestamp format conversion error by using "UpdateAttribute" processor i.e. ConvertJSONtoSQL-> UpdateAttribute--> PutSQL

在 UpdateAttribute 中我使用了

In UpdateAttribute I used

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)在

The value of the sql.args.4.value is '', which cannot be converted to a timestamp at org.apache.nifi.processors.standard.PutSQL.setParameters(PutSQL.java:690) at

在不使用 UpdateAttribute 的情况下,我还尝试了直接 ConvertJSONtoSQL-> PutSQL .日志在引用 'Aug 14 2017 10:17:00 EDT' 中显示了与 datetime 值相同的错误,即当我们使用 UpdateAttribute 时,它​​只是删除该值并放置空引号,但错误未解决.

Without the use of UpdateAttribute I also tried direct ConvertJSONtoSQL-> PutSQL . Log showed the same error with datetime value in quote 'Aug 14 2017 10:17:00 EDT' i.e. when we use UpdateAttribute, it just removes the value and put empty quotes but the error is not resolved.

注意: MySQL 表具有这些列的日期时间数据类型,不确定为什么尝试转换为时间戳会出错.我还在本地主机上的源表和目标表中尝试了 Timestamp 数据类型,但不走运!

Note: MySQL table has datetime datatype for those columns not sure why it errors out by trying to convert to TimeStamp. I also tried Timestamp datatype in source and target table on localhost, no luck!

推荐答案

我找到了问题的答案

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

相关文章