IoTDB 的写入和查询
这篇文章将主要介绍 IoTDB 的写入和查询
首先应启动IoTDB server 和 Cli工具,具体可参考我之前发的IoTDB的部署教程。
IoTDB 中的数据组织为 timeseries。每个 timeseries 包含多个`数据-时间`对,由一个存储组拥有。
在定义 timeseries 之前,我们应该先使用SET storage group来定义一个存储组:
IoTDB> SET STORAGE GROUP TO root.ln
使用SHOW STORAGE GROUP命令来检查创建的存储组:
SHOW STORAGE GROUP
此时已成功创建了存储组。
之后使用CREATE TIMESERIES来创建一个新的TIMESERIES:
IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAIN
IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE
使用SHOW TIMESERIES查看系统中的timeseries:
如果想要查询指定的timeseries 如timeseries(root.ln.wf01.wt01.status)
则需输入指令:
SHOW TIMESERIES root.ln.wf01.wt01.status
如果想要插入数据则须使用insert指令:
IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp,status) values(100,true);
IoTDB> INSERT INTO root.ln.wf01.wt01(timestamp,status,temperature) values(200,false,20.71)
查询一下刚才的插入结果:
IoTDB> SELECT status FROM root.ln.wf01.wt01
除了直接在IoTDB中手动创建数据进行写入和查询,我们同样也可以自动导入已有的数据表格。
首先,创建一个数据表格(CSV格式),也可以点击Connecting...http://gofile.me/6WI2y/9TstJU5wt下载一个测试用的表格。
输入导入指令:
import C:/Users/51560/Desktop/TestData.csv
导入成功的话会显示import completely
输入查询指令可以查看所有导入的数据:
select WROT_HubTmp from root.BHSFC.Q1.W002
查询结果默认显示 1000 行,也可以限制显示的数目,在末尾加上“limit <数目>”即可。
也可以设定起始行数和显示行数。
输入指令:
select WROT_HubTmp from root.BHSFC.Q1.W002 limit 2 offset 2
这样查询的结果就会从第二行开始显示,且只显示两个数据:
如果要查询指定时间序列的最新数据,可以输入 SQL 语句:
select last WROT_HubTmp from root.BHSFC.Q1.W002
查询结果为:
要查询导入的 CSV 测试数据一共有多少行,可输入 SQL 语句:
select count(WROT_HubTmp) from root.BHSFC.Q1.W002
输出结果如下:
以上是IoTDB的写入和查询的一些简单指令,如果想要深入了解可以前往IoTDB官网IoTDB Website