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

     2023-03-25     223

关键词:

【中文标题】如何将 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% 理解,非常感谢您提供的信息!!!

如何将tdengine集成到thingsboard?

1概述ThingsBoard是用于数据收集、处理、可视化和设备管理的开源物联网平台。它通过行业标准的物联网协议MQTT、CoAP和HTTP实现设备连接,并支持云和本地部署。ThingsBoard迄今没有导入专业的时序数据库应用,用户可选择的... 查看详情

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

】如何通过websocket从Thingsboard检索所有客户设备的遥测数据【英文标题】:HowtoretrievetelemetryforallcustomerdevicesfromThingsboardviawebsocket【发布时间】:2019-10-1403:49:08【问题描述】:我想通过websocket上的API从thingsboardCE获取与单个客户相... 查看详情

thingsboard之mqtt设备协议简介(代码片段)

...种物联网设备。您可以在此处找到有关MQTT的更多信息。ThingsBoard服务器节点充当MQTTBroker,支持QoS级别0(最多一次)和1(至少一次)以及一组预定义主题。客户端库设置您可以在Web上找到大量MQTT客户端库。本文中的示例将基于Mo... 查看详情

如何使用thingsboard接入mqtt数据

简介​​ThingsBoard​​​是用于数据收集、处理、可视化和设备管理的开源物联网平台。它支持通过​​MQTT​​、​​CoAP​​和HTTP等协议实现设备连接,并支持云和私有部署。使用丰富的服务器端API,以安全的方式提供、监测... 查看详情

如何将包含数百张工作表的 excel 文件导入数据库以在 C# 项目中使用?

】如何将包含数百张工作表的excel文件导入数据库以在C#项目中使用?【英文标题】:HowtoimportanexcelfilewithhundredsofsheetstoadatabasetouseinC#project?【发布时间】:2020-06-2214:46:35【问题描述】:我对C#和编程很陌生。我有一个超过100张的ex... 查看详情

将 K 列中具有给定值的一张工作表中的每一行数据复制到另一张工作表

】将K列中具有给定值的一张工作表中的每一行数据复制到另一张工作表【英文标题】:CopyeveryrowofDatafromonesheetthathasagivenvalueincolumnKtoanothersheet【发布时间】:2012-06-2020:46:01【问题描述】:我正在制作一个Google电子表格,它将使用... 查看详情

如何使 PFQueryTableView 在 UIViewController 中工作

】如何使PFQueryTableView在UIViewController中工作【英文标题】:HowtomakeaPFQueryTableViewworkinsideaUIViewController【发布时间】:2015-01-2203:02:20【问题描述】:我试图弄清楚如何让PFQueryTableViewController的好处在嵌入了TableView的常规UIViewController... 查看详情

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

概述:在thingsboard官网下载安装包,根据官网提供的文档进行安装配置thingsboard服务。通过esp32模拟智能节点,使用mqtt协议将数据上报至平台,进行动态的可视化展示。并通过wereshark抓取上报过程中的mqtt报文,... 查看详情

如何使用 SQL 或 PLSQL 将多行数据插入 Oracle 中的表中?

】如何使用SQL或PLSQL将多行数据插入Oracle中的表中?【英文标题】:HowdoyouinsertmultiplerowsofdatausingSQLorPLSQLintoatableinOracle?【发布时间】:2020-10-1308:37:39【问题描述】:我已经为此苦苦挣扎了好几天,但无法同时插入多行。这只是基... 查看详情

将 JSON 文件中的数据提取到 Javascript 中,以在 Web 表单输入中用作自动完成

】将JSON文件中的数据提取到Javascript中,以在Web表单输入中用作自动完成【英文标题】:ExtractingdatafromJSONfileintoJavascriptforuseasautocompleteinawebforminput【发布时间】:2016-01-0607:36:46【问题描述】:我不经常使用Javascript,因此我的知识... 查看详情

thingsboard前端项目内置部件开发(代码片段)

本文介绍如何在ThingsBoard前端项目中开发内置的菜单导航部件。前言ThingsBoard是目前Github上最流行的开源物联网平台(12.8kStar),可以实现物联网项目的快速开发、管理和扩展,是中小微企业物联网平台的不二之选。本文介绍如何... 查看详情

当表在集群中的多个节点之间复制时,COPY 如何在 cassandra 中工作?

】当表在集群中的多个节点之间复制时,COPY如何在cassandra中工作?【英文标题】:HowCOPYworksincassandrawhentableisreplicatedaccrossmultplienodesinacluster?【发布时间】:2017-03-2313:06:24【问题描述】:假设如果要将表从具有RF=\'3\'的7个节点的... 查看详情

覆盖现有插入模式如何在 aws 数据管道的 redshiftcopyactivity 中工作

】覆盖现有插入模式如何在aws数据管道的redshiftcopyactivity中工作【英文标题】:Howdoesoverwriteexistinginsertmodeworkinredshiftcopyactivityforawsdatapipeline【发布时间】:2019-08-1309:24:23【问题描述】:我是aws数据管道的新手。我们有一个用例,... 查看详情

如何将字符串类型的工作日数据项(日期、工作时间)列表减少为每个工作日范围字符串的列表,每个字符串都有总工作时间?

】如何将字符串类型的工作日数据项(日期、工作时间)列表减少为每个工作日范围字符串的列表,每个字符串都有总工作时间?【英文标题】:Howdoesonereducealistofstring-typeworkdaydata-items(date,workinghours)intoalistofworkday-rangestringseachwit... 查看详情

ThingsBoard 仪表板的视频源

】ThingsBoard仪表板的视频源【英文标题】:VideofeedtoThingsBoarddashboard【发布时间】:2019-07-0719:16:52【问题描述】:我目前使用ThingsBoard作为IoT代理来捕获来自多个传感器的遥测数据并将其显示到仪表板。我想添加显示来自iPhone摄像... 查看详情

如何在 C# 程序中工作?

】如何在C#程序中工作?【英文标题】:HowdoyougetWHEREtoworkinaC#program?【发布时间】:2021-12-2022:23:48【问题描述】:我不知道为什么我的WHERE不会给我所有东西。我目前正在尝试为我的公司制作一个数据库接口程序,以便我们可以摆... 查看详情

如何让 MySQL/MariaDB 用户定义的变量在 grafana 中工作?

...号cdr数据库)并尝试从数据库中的现有数据中按日期构建时间序列,但希望加入包含所有日期的列以说明没有数据的日期。以下查询(简化)在MySQ 查看详情

如何让纹理在 OpenGL 中工作?

】如何让纹理在OpenGL中工作?【英文标题】:HowdoIgettexturestoworkinOpenGL?【发布时间】:2013-09-0513:59:16【问题描述】:我正在使用http://arcsynthesis.org/gltut/的教程学习OpenGL,它是必需的,我必须使用它。大多数情况下,我想将教程15... 查看详情