如何将 Thingsboard 中的时间序列数据作为 CSV 或 JSON 文件保存到外部文件系统? [关闭]

Posted

技术标签:

【中文标题】如何将 Thingsboard 中的时间序列数据作为 CSV 或 JSON 文件保存到外部文件系统? [关闭]【英文标题】:How to to save timeseries data in Thingsboard to external file system as CSV or JSON file? [closed] 【发布时间】:2022-01-18 05:26:18 【问题描述】:

将时间序列数据保存到外部文件系统以便在另一个平台上进一步处理的最佳方法是什么?

最好的意思是:

编码更少 尽可能承受重负载 与 TB 集成(或使用 TB 工具或 TB 内部的变通方法)

解决方案可以是接近实时的,也可以是批处理的,因为最终目的地是用于分析,不需要最后一分钟的信息。

我想了几种方法,但我想获得一些建议或想法,哪种方法更方便。当然,我会感谢我没有想到的任何其他想法。

对于近实时模式:

    在规则链中,使用 Save Timeseries 节点之后的节点保存数据。

    一个。这会显着影响性能吗?因为它会在每次调用节点时向文件系统添加一个保存操作。

    b.有没有这种节点的代码示例?

    使用 Rest API Call 节点将时间序列数据 POST 到端点并在端点处生成文件。

    一个。这是否有机会发挥作用?

    b.有没有代码示例说明如何操作?

    使用 Kafka 节点将时间序列数据转发到 Kafka 服务器,然后从那里转发到最终目的地。

    一个。这引入了另一个层次(Kafka),它需要另一种专业知识和更多资源。

    b.有人成功使用过这个节点吗?而且,您介意分享和举例吗?

对于批处理模式:

    找出 TB 在 Cassandra 中使用了哪些表,并编写脚本以直接从数据库中提取信息。

    一个。这需要对 Cassandra 内部的 TB 数据模型和 Cassandra 本身有很好的了解才能编写脚本。所以它看起来不是一种非常自然/综合的解决问题的方法。

    创建以特定时间间隔触发查询的规则链,以检索某个时间段内保存的 TB 时间序列数据,然后使用一些近实时选项在一次操作中保存文件。

【问题讨论】:

【参考方案1】:

我会尽量回答

如果您正在使用社区 TB 并可以访问代码库,我会编写一个“文件”节点,可以在“保存时间序列”后附加并写入文件系统。如果适用,您甚至可以为此编写一个“ftp”节点。 TB 文档中提供了编写自定义规则节点的文档。

如果您是 TB 应用程序的严格用户并且可以访问规则链,那么我会使用 MQTT 节点将数据发送到外部系统,然后从那里处理数据。 “低代码”选项可以是 Node-RED,您可以在其中设置 MQTT 代理、接收数据并使用“文件”节点写入文件系统。

关于将其保存为 CSV 或 JSON,时间序列数据默认为 JSON,因此您可以将其传递。如果是 CSV,您可以在写入文件系统之前再次写入 CSV 节点或在接收端进行转换。

希望这会有所帮助。

【讨论】:

@RubikX 非常有帮助的答案。谢谢!! @所有评论过这篇文章的人。我的问题被另一位成员编辑,他更正了一些我同意有错误的词,但也修剪了一些完整的句子,主要是说“谢谢那些花时间回答我问题的人”。我对这个网站比较陌生,我想了解一些事情:在这里感谢其他人的时间或关注是不是习惯性的?因为这对我来说真的很奇怪。但是,如果是这样的话,我会坚持下去,但我希望能对此事进行澄清。谢谢! @Ric - 我很欣赏你的礼貌和感恩的意图。因为 Stack Overflow 被构建为编程信息的权威存储库,所以社区倾向于编辑问题和答案,只关注帖子的内容。这是这里文化的一个不同方面,需要一点时间来适应。更多信息,我推荐阅读"Should 'Hi', 'thanks', taglines, and salutations be removed from posts?"。 @BradLarson - 100% 理解,非常感谢您提供的信息!!!

以上是关于如何将 Thingsboard 中的时间序列数据作为 CSV 或 JSON 文件保存到外部文件系统? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何将TDengine集成到Thingsboard?

如何通过 websocket 从 Thingsboard 检索所有客户设备的遥测数据

如何使用 ThingsBoard 接入 MQTT 数据

物联网平台thingsboard搭建学习记录

ThingsBoard 仪表板的视频源

ThingsBoard IOT Gateway