iotdb时序数据库使用

发布于:2025-04-20 ⋅ 阅读:(12) ⋅ 点赞:(0)

iotdb

https://github.com/apache/iotdb.git

安装maven3.9.6以上版本执行编译

iotdb启动,使用安装包sbin目录下的start-standalone.bat

sbin\start-standalone.bat

执行报错如果是内存问题,可以在对应的node配置中修改,如conf\datanode-evn.bat中修改
在这里插入图片描述

c++

example\pom.xml中需要添加client-cpp-example的模块
在这里插入图片描述

参考官方文档:https://iotdb.apache.org/zh/UserGuide/V0.13.x/IoTDB-Introduction/What-is-IoTDB.html

mvn package -P compile-cpp -pl client-cpp,server,example/client-cpp-example -am -Dcmake.generator=“your cmake generator” -Dboost.include.dir= y o u r b o o s t h e a d e r f o l d e r − D b o o s t . l i b r a r y . d i r = {your boost header folder} -Dboost.library.dir= yourboostheaderfolderDboost.library.dir={your boost lib (stage) folder} -DskipTests

python

client-py子项目中有python的模块,或者pip install apache-iotdb

import time
from iotdb.Session import Session
from iotdb.utils.IoTDBConstants import TSDataType, TSEncoding, Compressor
from iotdb.utils.Tablet import Tablet
import pandas as pd

# 连接到 IoTDB
session = Session("127.0.0.1", 6667, "root", "root")
session.open(False)

# 创建存储组和时间序列
session.set_storage_group("root.sg1")
session.create_time_series("root.sg1.d1.s1", TSDataType.INT32, TSEncoding.RLE, Compressor.SNAPPY)

# 生成测试数据
measurements_ = ["s_01", "s_02", "s_03", "s_04", "s_05", "s_06"]
values_ = [False, 10, 11, 1.1, 10011.1, "test_record"]
data_types_ = [
    TSDataType.BOOLEAN,
    TSDataType.INT32,
    TSDataType.INT64,
    TSDataType.FLOAT,
    TSDataType.DOUBLE,
    TSDataType.TEXT,
]

# 开始写入测试
start_time = time.time()
for i in range(100000):
    session.insert_record("root.sg_test_01.d_01", i, measurements_, data_types_, values_)
end_time = time.time()

# 输出写入时间
print(f"写入 100000 条数据耗时: {end_time - start_time} 秒")

session.delete_storage_group("root.sg1")
# 关闭连接
session.close()

本机测试单线程单连接大概每秒写入在1w以上,c++接口写入会比python快接近一倍左右(很奇快,执行都是java,都是通过thrift调用的)


网站公告

今日签到

点亮在社区的每一天
去签到