在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
开源软件名称:IoTDB开源软件地址:https://gitee.com/apache/iotdb开源软件介绍:IoTDB简介IoTDB (Internet of Things Database) 是一款时序数据库管理系统,可以为用户提供数据收集、存储和分析等服务。IoTDB由于其轻量级架构、高性能和高可用的特性,以及与 Hadoop 和 Spark 生态的无缝集成,满足了工业 IoT 领域中海量数据存储、高吞吐量数据写入和复杂数据查询分析的需求。 主要特点IoTDB的主要特点如下:
有关IoTDB的最新信息,请访问IoTDB官方网站。如果您在使用IoTDB时遇到任何问题或发现任何bug,请在[jira]中提交(https://issues.apache.org/jira/projects/IOTDB/issues)。 目录快速开始这篇简短的指南将带您了解使用IoTDB的基本过程。如需更详细的介绍,请访问我们的网站用户指南。 环境准备要使用IoTDB,您需要:
安装IoTDB提供了三种安装方法,您可以参考以下建议,选择最适合您的一种:
在这篇《快速入门》中,我们简要介绍如何使用源代码安装IoTDB。如需进一步资料,请参阅官网用户指南。 从源码构建关于准备Thrift编译器如果您使用Windows,请跳过此段。 我们使用Thrift作为RPC模块来提供客户端-服务器间的通信和协议支持,因此在编译阶段我们需要使用Thrift 0.13.0(或更高)编译器生成对应的Java代码。 Thrift只提供了Windows下的二进制编译器,Unix下需要通过源码自行编译。 如果你有安装权限,可以通过 同时我们预先编译了一个Thrift编译器,并将其上传到了GitHub ,借助一个Maven插件,在编译时可以自动将其下载。该预编译的Thrift编译器在gcc8,Ubuntu, CentOS, MacOS下可以工作,但是在更低的gcc版本以及其他操作系统上尚未确认。如果您发现因为网络问题总是提示下载不到thrift文件,那么您需要手动下载,并并将编译器放置到目录 如果您对Maven足够熟悉,您也可以直接修改我们的根pom文件来避免每次编译都使用上述参数。Thrift官方网址为:https://thrift.apache.org/ 从 git 克隆源代码: git clone https://github.com/apache/iotdb.git 默认的主分支是master分支,如果你想使用某个发布版本x.x.x,请切换分支: git checkout release/x.x.x 从0.11.3开始,版本的标签风格改为vx.x.x: git checkout vx.x.x 在 iotdb 根目录下执行 maven 编译: > mvn clean package -DskipTests 通过添加 执行完成之后,可以在distribution/target/apache-iotdb-{project.version}-all-bin.zip找到编译完成的二进制版本(包括服务器和客户端) 注意:" IDEA的操作方法:在上述maven命令编译好后,右键项目名称,选择" 配置配置文件在"conf"文件夹下
有关详细信息,请参见配置参数。 开始您可以通过以下步骤来测试安装,如果执行后没有返回错误,安装就完成了。 启动 IoTDB可以通过运行 sbin 文件夹下的 start-server 脚本启动 IoTDB。 # Unix/OS X> nohup sbin/start-server.sh >/dev/null 2>&1 &or> nohup sbin/start-server.sh -c <conf_path> -rpc_port <rpc_port> >/dev/null 2>&1 &# Windows> sbin\start-server.bat -c <conf_path> -rpc_port <rpc_port>
使用 IoTDB使用 Cli 命令行IoTDB提供了与服务器交互的不同方式,这里我们将介绍使用 Cli 工具插入和查询数据的基本步骤。 安装 IoTDB 后,有一个默认的用户 下面是启动 Cli 的命令: # Unix/OS X> sbin/start-cli.sh -h 127.0.0.1 -p 6667 -u root -pw root# Windows> sbin\start-cli.bat -h 127.0.0.1 -p 6667 -u root -pw root 命令行客户端是交互式的,所以如果一切就绪,您应该看到欢迎标志和声明: _____ _________ ______ ______|_ _| | _ _ ||_ _ `.|_ _ \ | | .--.|_/ | | \_| | | `. \ | |_) | | | / .'`\ \ | | | | | | | __'. _| |_| \__. | _| |_ _| |_.' /_| |__) ||_____|'.__.' |_____| |______.'|_______/ version x.x.xIoTDB> login successfullyIoTDB> 基本的 IoTDB 命令现在,让我们介绍创建 timeseries、插入数据和查询数据的方法。 IoTDB中的数据组织为 timeseries。每个 timeseries 包含多个 IoTDB> SET STORAGE GROUP TO root.ln 我们也可以使用 IoTDB> SHOW STORAGE GROUP+-------------+|storage group|+-------------+| root.ln|+-------------+Total line number = 1 在设置存储组之后,我们可以使用CREATE TIMESERIES来创建一个新的TIMESERIES。在创建 timeseries 时,我们应该定义它的数据类型和编码方案。这里我们创建两个 timeseries: IoTDB> CREATE TIMESERIES root.ln.wf01.wt01.status WITH DATATYPE=BOOLEAN, ENCODING=PLAINIoTDB> CREATE TIMESERIES root.ln.wf01.wt01.temperature WITH DATATYPE=FLOAT, ENCODING=RLE 为了查询特定的timeseries,我们可以使用
IoTDB> SHOW TIMESERIES+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+| timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+|root.ln.wf01.wt01.temperature| null| root.ln| FLOAT| RLE| SNAPPY|null| null|| root.ln.wf01.wt01.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY|null| null|+-----------------------------+-----+-------------+--------+--------+-----------+----+----------+Total line number = 2
IoTDB> SHOW TIMESERIES root.ln.wf01.wt01.status+------------------------+-----+-------------+--------+--------+-----------+----+----------+| timeseries|alias|storage group|dataType|encoding|compression|tags|attributes|+------------------------+-----+-------------+--------+--------+-----------+----+----------+|root.ln.wf01.wt01.status| null| root.ln| BOOLEAN| PLAIN| SNAPPY|null| null|+------------------------+-----+-------------+--------+--------+-----------+----+----------+Total line number = 1 插入 timeseries 数据是IoTDB的一个基本操作,你可以使用 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+08:00| true||1970-01-01T08:00:00.200+08:00| false|+-----------------------------+------------------------+Total line number = 2 您还可以使用一条SQL语句查询多个 timeseries 数据: IoTDB> SELECT * FROM root.ln.wf01.wt01+-----------------------------+-----------------------------+------------------------+| Time|root.ln.wf01.wt01.temperature|root.ln.wf01.wt01.status|+-----------------------------+-----------------------------+------------------------+|1970-01-01T08:00:00.100+08:00| null| true||1970-01-01T08:00:00.200+08:00| 20.71| false|+-----------------------------+-----------------------------+------------------------+Total line number = 2 如果需要修改 Cli 中的时区,您可以使用以下语句: IoTDB> SET time_zone=+00:00Time zone has set to +00:00IoTDB> SHOW time_zoneCurrent time zone: Z 之后查询结果将会以更新后的新时区显示: IoTDB> SELECT * FROM root.ln.wf01.wt01+------------------------+-----------------------------+------------------------+| Time|root.ln.wf01.wt01.temperature|root.ln.wf01.wt01.status|+------------------------+-----------------------------+------------------------+|1970-01-01T00:00:00.100Z| null| true||1970-01-01T00:00:00.200Z| 20.71| false|+------------------------+-----------------------------+------------------------+Total line number = 2 你可以使用如下命令退出: IoTDB> quitorIoTDB> exit 有关IoTDB SQL支持的命令的更多信息,请参见用户指南。 停止 IoTDBserver 可以使用 "ctrl-C" 或者执行下面的脚本: # Unix/OS X> sbin/stop-server.sh# Windows> sbin\stop-server.bat 只编译 server在 iotdb 根目录下执行: > mvn clean package -pl server -am -DskipTests 编译完成后, IoTDB server 将生成在: "server/target/iotdb-server-{project.version}". 只编译 cli在 iotdb 根目录下执行: > mvn clean package -pl cli -am -DskipTests 编译完成后, IoTDB cli 将生成在 "cli/target/iotdb-cli-{project.version}". 导入导出CSV工具查看 导入导出CSV工具 常见编译错误查看 常见编译错误 联系我们QQ群
Wechat Group
Slack获取更多内容,请查看 加入社区 |
请发表评论