使用Apache IoTDB进行IoT相关开发的架构设计与功能实现(8)

简介: IoTDB为用户提供了多种插入实时数据的方式,如直接输入插入SQL语句在客户端,这插入SQL语句语句可用于将数据插入到一个或多个已创建的指定时间序列中。

数据操作语言

插入实时数据

IoTDB provides users with a variety of ways to insert real-time data, such as directly inputting INSERT SQL statement in Client/Shell tools, or using Java JDBC to perform single or batch execution of INSERT SQL statement.

本节主要介绍插入SQL语句用于场景中的实时数据导入。

在本节的场景中,取两个时间序列root.ln.wf02.wt02.statusroot.ln.wf02.wt02.hardware例如,它们的数据类型分别是布尔型和文本型。

单列数据插入的示例代码如下:

  1. IoTDB >insertintoroot.ln.wf02.wt02(timestamp,status)values(1,true)
  2. IoTDB >insertintoroot.ln.wf02.wt02(timestamp,hardware)values(1, "v1")

上面的示例代码将长整数时间戳和值“true”插入到时间序列中root.ln.wf02.wt02.status并将长整数时间戳和值“v1”插入到时间序列中root.ln.wf02.wt02.hardware。当执行成功时,会显示成本时间以指示数据插入已经完成。

注意:在IoTDB中,文本类型数据可以用单引号和双引号表示。上面的插入语句对文本类型数据使用双引号。以下示例将对文本类型数据使用单引号。

INSERT语句还可以支持在同一时间点插入多列数据。在同一时间点“2”插入两个时间序列的值的示例代码如下:

  1. IoTDB > insert into root.ln.wf02.wt02(timestamp, status, hardware) VALUES (2, false, 'v2')

插入数据后,我们可以使用SELECT语句简单地查询插入的数据:

  1. IoTDB > select * from root.ln.wf02 where time < 3

结果如下所示。从查询结果可以看出,单列和多列数据的插入语句执行正确。

INSERT语句的错误处理

例如,如果用户将数据插入到不存在的时间序列中,请执行以下命令:

  1. IoTDB >insertintoroot.ln.wf02.wt02(timestamp,temperature)values(1,"v1")

因为root.ln.wf02.wt02. temperature不存在,系统将返回以下错误信息:

  1. Msg: The resultDataType or encoding or compression of the last node temperature is conflicting in the storage group root.ln

例如,如果用户插入的数据类型与时间序列的相应数据类型不一致,则执行以下命令:

  1. IoTDB >insertintoroot.ln.wf02.wt02(timestamp,hardware)values(1,100)

系统将返回以下错误信息:

  1. error: The TEXT data type should be covered by " or '

挑选

时间片查询

本章主要介绍使用IoTDB SELECT语句进行时间片查询的相关例子。详细的SQL语法和用法规范可以在SQL文档

根据时间间隔选择一列数据

SQL语句是:

  1. selecttemperaturefromroot.ln.wf01.wt01wheretime< 2017-11-01T00:08:00.000

这意味着:

所选设备为ln集团wf01厂wt01设备;选定的时间序列是温度传感器(温度)。SQL语句要求选择“2017-11-01T00:08:00.000”时间点之前的所有温度传感器值。

该SQL语句的执行结果如下:

根据时间间隔选择多列数据

SQL语句是:

  1. selectstatus, temperature from root.ln.wf01.wt01 wheretime> 2017-11-01T00:05:00.000 andtime< 2017-11-01T00:12:00.000;

这意味着:

所选设备为ln集团wf01厂wt01设备;选定的时间系列是“状态”和“温度”。SQL语句要求选择“2017-11-01T00:05:00.000”和“2017-11-01T00:12:00.000”时间点之间的状态和温度传感器值。

该SQL语句的执行结果如下:

根据多个时间间隔为同一设备选择多列数据

IoTDB支持在一个查询中指定多个时间间隔条件。用户可以根据需要任意组合时间间隔条件。例如,SQL语句是:

  1. selectstatus,temperature from root.ln.wf01.wt01 where (time> 2017-11-01T00:05:00.000 andtime< 2017-11-01T00:12:00.000) or (time>= 2017-11-01T16:35:00.000 andtime<= 2017-11-01T16:37:00.000);

这意味着:

所选设备为ln集团wf01厂wt01设备;选择的时间序列是“状态”和“温度”;该语句指定了两个不同的时间间隔,即“2017-11-01T00:05:00.000至2017-11-01T00:12:00.000”和“2017-11-01T16:35:00.000至2017-11-01T16:37:00.000”。SQL语句要求选择满足任何时间间隔的选定时间序列的值。

该SQL语句的执行结果如下:

根据多个时间间隔为不同的设备选择多列数据

系统支持在查询中选择任何列中的数据,即所选择的列可以来自不同的设备。例如,SQL语句是:

  1. select wf01.wt01.status,wf02.wt02.hardware from root.ln where (time> 2017-11-01T00:05:00.000 andtime< 2017-11-01T00:12:00.000) or (time>= 2017-11-01T16:35:00.000 andtime<= 2017-11-01T16:37:00.000);

这意味着:

选择的时间序列为“ln集团wf01厂wt01装置的电源状态”和“ln集团wf02厂wt02装置的硬件版本”;该语句指定了两个不同的时间间隔,即“2017-11-01T00:05:00.000至2017-11-01T00:12:00.000”和“2017-11-01T16:35:00.000至2017-11-01T16:37:00.000”。SQL语句要求选择满足任何时间间隔的选定时间序列的值。

该SQL语句的执行结果如下:

相关文章
|
2月前
|
Dubbo Java 应用服务中间件
Apache ShenYu 架构学习指南
Apache ShenYu 是一款高性能、插件化的微服务API网关,基于Spring WebFlux + Reactor 构建,支持多协议、动态配置与实时数据同步。本指南以通俗类比和实战路径,带你深入理解其架构设计、核心流程与源码实现,助力快速掌握并参与贡献。
459 13
|
3月前
|
数据采集 运维 数据可视化
AR 运维系统与 MES、EMA、IoT 系统的融合架构与实践
AR运维系统融合IoT、EMA、MES数据,构建“感知-分析-决策-执行”闭环。通过AR终端实现设备数据可视化,实时呈现温度、工单等信息,提升运维效率与生产可靠性。(238字)
|
2月前
|
存储 消息中间件 Kafka
Confluent 首席架构师万字剖析 Apache Fluss(二):核心架构
原文:https://jack-vanlightly.com/blog/2025/9/2/understanding-apache-fluss 作者:Jack Vanlightly 翻译:Wayne Wang@腾讯 译注:Jack Vanlightly 是一位专注于数据系统底层架构的知名技术博主,他的文章以篇幅长、细节丰富而闻名。目前 Jack 就职于 Confluent,担任首席技术架构师,因此这篇 Fluss 深度分析文章,具备一定的客观参考意义。译文拆成了三篇文章,本文是第二篇。
390 19
|
9月前
|
网络协议 Java 应用服务中间件
框架源码私享笔记(01)Tomcat核心架构功能 | 配置详解
本文首先分享了《活出意义来》一书序言中的感悟,强调成功如同幸福,不是刻意追求就能得到,而是全心投入时的副产品。接着探讨了Tomcat的核心功能与架构解析,包括网络连接器(Connector)和Servlet容器(Container),并介绍了其处理HTTP请求的工作流程。文章还详细解释了Tomcat的server.xml配置文件,涵盖了从顶级容器Server到子组件Connector、Engine、Host、Context等的配置参数及作用,帮助读者理解Tomcat的内部机制和配置方法。
|
8月前
|
SQL 分布式数据库 Apache
网易游戏 x Apache Doris:湖仓一体架构演进之路
网易游戏 Apache Doris 集群超 20 个 ,总节点数百个,已对接内部 200+ 项目,日均查询量超过 1500 万,总存储数据量 PB 级别。
753 3
网易游戏 x Apache Doris:湖仓一体架构演进之路
|
9月前
|
运维 供应链 前端开发
中小医院云HIS系统源码,系统融合HIS与EMR功能,采用B/S架构与SaaS模式,快速交付并简化运维
这是一套专为中小医院和乡镇卫生院设计的云HIS系统源码,基于云端部署,采用B/S架构与SaaS模式,快速交付并简化运维。系统融合HIS与EMR功能,涵盖门诊挂号、预约管理、一体化电子病历、医生护士工作站、收费财务、药品进销存及统计分析等模块。技术栈包括前端Angular+Nginx,后端Java+Spring系列框架,数据库使用MySQL+MyCat。该系统实现患者管理、医嘱处理、费用结算、药品管控等核心业务全流程数字化,助力医疗机构提升效率和服务质量。
569 4
|
9月前
|
算法 前端开发 定位技术
地铁站内导航系统解决方案:技术架构与核心功能设计解析
本文旨在分享一套地铁站内导航系统技术方案,通过蓝牙Beacon技术与AI算法的结合,解决传统导航定位不准确、路径规划不合理等问题,提升乘客出行体验,同时为地铁运营商提供数据支持与增值服务。 如需获取校地铁站内智能导航系统方案文档可前往文章最下方获取,如有项目合作及技术交流欢迎私信我们哦~
724 1
|
9月前
|
存储 智能硬件
CPU的定义与功能与架构
CPU(中央处理器)是计算机的核心部件,负责执行程序指令、控制数据传输和进行运算。它能处理算术与逻辑运算,并协调其他硬件协同工作。x86架构源于英特尔,适用于PC和服务器,采用复杂指令集;ARM架构则由Acorn等公司开发,广泛用于移动设备和嵌入式系统,采用精简指令集,功耗低且能效比高。
1292 5
|
分布式计算 大数据 Apache
Apache Spark & Paimon Meetup · 北京站,助力 LakeHouse 架构生产落地
2024年11月15日13:30北京市朝阳区阿里中心-望京A座-05F,阿里云 EMR 技术团队联合 Apache Paimon 社区举办 Apache Spark & Paimon meetup,助力企业 LakeHouse 架构生产落地”线下 meetup,欢迎报名参加!
423 59
|
9月前
|
存储 消息中间件 人工智能
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
基于 Apache RocketMQ 的 ApsaraMQ Serverless 架构升级
218 0

热门文章

最新文章

推荐镜像

更多