在ApacheNi-Fi中使用PutInfluxDatabaseRecord时因时间戳而出错 [英] Error when using PutInfluxDatabaseRecord in Apache Ni-Fi due to time stamp

查看:0
本文介绍了在ApacheNi-Fi中使用PutInfluxDatabaseRecord时因时间戳而出错的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我创建了一个Apache Ni-Fi流1从MySQL服务器获取一个简单的表,并将其复制到InfluxDB中,经过一些数据转换。

我使用PutInfluxDataRecord处理器将数据从Avro格式转换为内联协议,并将数据插入到流入中(通过使用StandardInfluxDatabaseService 1.15.0-快照控制器服务)。

在Avro Reader 1.15.2控制器服务中,我选择了选项架构访问策略:使用嵌入式Avro架构。

在PutInfluxDataRecord处理器的属性中,我将时间戳字段属性的值设置为";time_stamp";,这是处理器输入流中包含时间戳的字段的名称。

运行流时,我收到以下错误:

PutInfluxDatabaseRecord[id=6d21f785-017e-1000-e0da-0528ab2de725] 处理流文件f0c553ef-7a4b-414c-bd9f-be2c6b7bf4f5到期失败 对于输入字符串:";2021-01-11 09:00:00.0";: Java.lang.NumberFormatException:对于输入字符串:&Quot;2021-01-11 09:00:00.0&Quot;

在PutInfluxDatabaseRecord处理器的属性选项卡中,时间戳字段属性的帮助文本中说明支持的类型为:java.util.Date、java.lang.Number和java.lang.String.

有什么提示我可以解决这个问题吗?

谢谢,

贝尔纳多

Apache Ni-Fi flow

推荐答案

我通过更改用于从MySQL服务器获取数据的QueryDatabaseTable处理器中的设置修复了该问题。我做了以下更改:

使用Avro逻辑类型:True

这阻止了Ni-Fi将TIME_STAMP设置为字符串。

这篇关于在ApacheNi-Fi中使用PutInfluxDatabaseRecord时因时间戳而出错的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆