如何将流式数据保存到 InfluxDB?
How to save streaming data to InfluxDB?
我正在尝试将数据以流式传输的方式(延迟最少)保存到我的 InfluxDB 数据库中。目前我是批量保存的
当前设置 - 基于间隔
目前我有一个 Airflow 实例,我每 5 分钟从 REST API 读取数据,然后将其保存到 InfluxDB。
所需设置 - 连续
我不想每 5 分钟保存一次数据,而是想通过 Web 套接字建立连接(我猜)并在数据到达时保存数据。我以前从未这样做过,我很困惑它实际上是如何完成的?我的一些问题是:
- 我为它编写代码,我是否像守护进程一样维护它?
- 我是否需要为此使用 Telegraf 之类的东西,或者事实并非如此 (example article)
- 我需要使用 Apache Beam 或 Spark 之类的东西来代替 Airflow(因为它用于批处理)吗?
如您所见,我完全不知道从哪里开始,要阅读什么以及如何从所有这些中理解。任何有关设置方向 and/or 指导的建议都将不胜感激。
如果我没理解错的话,您很想编写一个 java 服务来处理传入的数据,因此解决方案之一是使用 jetty 实现一个 websocket。
例如,您从那里接收 json 格式的数据,并使用填充数据库的 influxdb-java 框架处理数据。 Influxdb-java 将允许您创建和管理数据。
我不知道气流,也不知道你是如何产生数据的,所以也许有内置工具(influxdb sinks)可以在你的环境中为你节省一些工作。
我希望这能给你一些指导,让你开始更多的挖掘。
我正在尝试将数据以流式传输的方式(延迟最少)保存到我的 InfluxDB 数据库中。目前我是批量保存的
当前设置 - 基于间隔
目前我有一个 Airflow 实例,我每 5 分钟从 REST API 读取数据,然后将其保存到 InfluxDB。
所需设置 - 连续
我不想每 5 分钟保存一次数据,而是想通过 Web 套接字建立连接(我猜)并在数据到达时保存数据。我以前从未这样做过,我很困惑它实际上是如何完成的?我的一些问题是:
- 我为它编写代码,我是否像守护进程一样维护它?
- 我是否需要为此使用 Telegraf 之类的东西,或者事实并非如此 (example article)
- 我需要使用 Apache Beam 或 Spark 之类的东西来代替 Airflow(因为它用于批处理)吗?
如您所见,我完全不知道从哪里开始,要阅读什么以及如何从所有这些中理解。任何有关设置方向 and/or 指导的建议都将不胜感激。
如果我没理解错的话,您很想编写一个 java 服务来处理传入的数据,因此解决方案之一是使用 jetty 实现一个 websocket。
例如,您从那里接收 json 格式的数据,并使用填充数据库的 influxdb-java 框架处理数据。 Influxdb-java 将允许您创建和管理数据。
我不知道气流,也不知道你是如何产生数据的,所以也许有内置工具(influxdb sinks)可以在你的环境中为你节省一些工作。
我希望这能给你一些指导,让你开始更多的挖掘。