IoTDB (Internet of Things Database) 是一个时序数据的数据管理系统,可以为用户提供数据收集、存储和分析等特定的服务。IoTDB由于其轻量级的结构、高性能和可用的特性,以及与Hadoop和Spark生态的无缝集成,满足了工业IoTDB领域中海量数据存储、高吞吐量数据写入和复杂数据分析的需求。
IoTDB> SHOW STORAGE GROUP
+-----------------------------------+
| Storage Group|
+-----------------------------------+
| root.ln|
+-----------------------------------+
storage group number = 1
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
+-----------------------+------------------------+
| Time|root.ln.wf01.wt01.status|
+-----------------------+------------------------+
|1970-01-01T08:00:00.100| true|
|1970-01-01T08:00:00.200| false|
+-----------------------+------------------------+
Total line number = 2
您还可以使用一条SQL语句查询多个 timeseries 数据:
IoTDB> SELECT * FROM root.ln.wf01.wt01
+-----------------------+--------------------------+-----------------------------+
| Time| root.ln.wf01.wt01.status|root.ln.wf01.wt01.temperature|
+-----------------------+--------------------------+-----------------------------+
|1970-01-01T08:00:00.100| true| null|
|1970-01-01T08:00:00.200| false| 20.71|
+-----------------------+--------------------------+-----------------------------+
Total line number = 2
English | 中文
IoTDB
简介
IoTDB (Internet of Things Database) 是一个时序数据的数据管理系统,可以为用户提供数据收集、存储和分析等特定的服务。IoTDB由于其轻量级的结构、高性能和可用的特性,以及与Hadoop和Spark生态的无缝集成,满足了工业IoTDB领域中海量数据存储、高吞吐量数据写入和复杂数据分析的需求。
主要特点
IoTDB的主要特点如下:
有关IoTDB的最新信息,请访问IoTDB官方网站。如果您在使用IoTDB时遇到任何问题或发现任何bug,请在[jira]中提交(https://issues.apache.org/jira/projects/IOTDB/issues)。
目录
快速开始
这篇简短的指南将带您了解使用IoTDB的基本过程。如需更详细的介绍,请访问我们的网站用户指南。
环境准备
要使用IoTDB,您需要:
安装
IoTDB提供了三种安装方法,您可以参考以下建议,选择最适合您的一种:
从源代码安装。如果需要自己修改代码,可以使用此方法。
从二进制文件安装。推荐的方法是从官方网站下载二进制文件,您将获得一个开箱即用的二进制发布包。
使用Docker: dockerfile的路径是https://github.com/apache/iotdb/tree/master/docker/src/main
在这篇《快速入门》中,我们简要介绍如何使用源代码安装IoTDB。如需进一步资料,请参阅《用户指南》第3章。
从源码构建
如果您使用Windows,请跳过此段。我们使用Thrift作为RPC模块来提供客户端-服务器间的通信和协议支持,因此在编译阶段我们需要使用Thrift 0.13.0 (或更高)编译器生成对应的Java代码。Thrift只提供了Windows下的二进制编译器,Unix下需要通过源码自行编译。但我们预先编译了一个Thrift编译器,并将其上传到了GitHub ,借助一个Maven插件,在编译时可以自动将其下载。该预编译的Thrift编译器在gcc8,Ubuntu, CentOS, MacOS下可以工作,但是在更低的gcc 版本以及其他操作系统上尚未确认。如果您在编译时发现了Thrift编译器相关的问题,请升级您的gcc版本或者依照Thrift 官方的指示自行编译编译器,并将编译器放置到目录
{project_root}\thrift\target\tools\thrift_0.12.0_0.13.0_linux.exe
。 如果您已经安装了一个兼容的Thrift编译器,您可以在运行Maven时通过以下参数指定使用您的编译器:-Dthrift.download-url=http://apache.org/licenses/LICENSE-2.0.txt -Dthrift.exec.absolute.path=<YOUR LOCAL THRIFT BINARY FILE>
。 您也可以使用以下Maven参数来更换Thrift编译器的下载地址:-Dthrift.download-url=<THE REMOTE URL FOR DOWNLOADING> -Dthrift.exec.absolute.path=<THE DOWNLOADED BINARY FILE NAME>
。 如果您对Maven足够熟悉,您也可以直接修改我们的根pom文件来避免每次编译都使用上述参数。 Thrift官方网址为:https://thrift.apache.org/从 git 克隆源代码:
默认的主分支是dev分支,如果你想使用某个发布版本x.x.x,请切换分支:
在 iotdb 根目录下执行 maven 编译:
执行完成之后,可以在distribution/target/apache-iotdb-{project.version}-bin.zip找到编译完成的二进制版本(包括服务器和客户端)
配置
配置文件在”conf”文件夹下
iotdb-env.bat
,iotdb-env.sh
),iotdb-engine.properties
)logback.xml
)。有关详细信息,请参见Chapter3: Server。
开始
您可以通过以下步骤来测试安装,如果执行后没有返回错误,安装就完成了。
启动 IoTDB
可以通过运行 sbin 文件夹下的 start-server 脚本启动 IoTDB。
使用 IoTDB
使用 Cli 命令行
IoTDB提供了与服务器交互的不同方式,这里我们将介绍使用 Cli 工具插入和查询数据的基本步骤。
安装 IoTDB 后,有一个默认的用户
root
,它的默认密码也是root
。用户可以使用这个 默认用户登录 Cli 并使用 IoTDB。Cli 的启动脚本是 sbin 文件夹中的 start-cli 脚本。 在执行脚本时,用户应该指定 IP,端口,USER_NAME 和 密码。默认参数为-h 127.0.0.1 -p 6667 -u root -pw root
。下面是启动 Cli 的命令:
命令行客户端是交互式的,所以如果一切就绪,您应该看到欢迎标志和声明:
基本的 IoTDB 命令
现在,让我们介绍创建 timeseries、插入数据和查询数据的方法。
IoTDB中的数据组织为 timeseries。每个 timeseries 包含多个
数据-时间
对,由一个存储组拥有。 在定义 timeseries 之前,我们应该先使用SET storage group来定义一个存储组,下面是一个例子:我们也可以使用
SHOW STORAGE GROUP
来检查正在创建的存储组:在设置存储组之后,我们可以使用CREATE TIMESERIES来创建一个新的TIMESERIES。 在创建 timeseries 时,我们应该定义它的数据类型和编码方案。这里我们创建两个 timeseries:
为了查询特定的timeseries,我们可以使用 表示被查询的 timeseries 的路径. 默认值是
SHOW TIMESERIES <Path>
.null
, 表示查询系统中所有的 timeseries (同SHOW TIMESERIES root
). 以下是一些示例:插入 timeseries 数据是IoTDB的一个基本操作,你可以使用
INSERT
命令来完成这个操作。 在插入之前,您应该指定时间戳和后缀路径名:你刚才插入的数据会显示如下:
您还可以使用一条SQL语句查询多个 timeseries 数据:
你可以使用如下命令退出:
有关IoTDB SQL支持的命令的更多信息,请参见SQL 参考文档。
停止 IoTDB
server 可以使用 “ctrl-C” 或者执行下面的脚本:
只编译 server
在 iotdb 根目录下执行:
编译完成后, IoTDB server 将生成在: “server/target/iotdb-server-{project.version}”.
只编译 cli
在 iotdb 根目录下执行:
编译完成后, IoTDB cli 将生成在 “cli/target/iotdb-cli-{project.version}”.
导入导出CSV工具
查看 导入导出CSV工具
常见编译错误
查看 常见编译错误
联系我们
QQ群
Wechat Group
获取更多内容,请查看 加入社区