7个版本
0.0.7 | 2022年1月27日 |
---|---|
0.0.6 | 2021年11月27日 |
0.0.4 | 2021年10月15日 |
0.0.3 | 2021年2月5日 |
#2606 在 数据库接口
每月 32次下载
在 iotdb-cli 中使用
605KB
15K SLoC
概览
IoTDB(物联网数据库)是一个时序数据处理系统,能够为用户提供特定的服务,如数据收集、存储和分析。由于其轻量级结构、高性能和可用的特性,以及与Hadoop和Spark生态的无缝集成,IoTDB满足工业物联网领域海量数据存储、高吞吐量数据输入和复杂数据分析的需求。
如何使用
将 iotdb
添加到您的 Cargo.toml
[dependencies]
iotdb = "0.0.7"
simplelog = "0.11.0"
示例
use chrono::Local;
use iotdb::*;
fn main() -> Result<(), anyhow::Error> {
debug(false);
let config = iotdb::ConfigBuilder::new()
.endpoint("localhost:6667")
.user("root")
.password("root")
.time_zone("UTC+8")
.build();
// open session
let mut session = Session::connect(config)?;
println!("time_zone: {}", session.time_zone()?);
session.delete_storage_group("root.ln")?;
session.set_storage_group("root.ln")?;
session.create_time_series(
"root.ln.wf01.wt01.temperature",
DataType::FLOAT,
Encoding::default(),
Compressor::default(),
)?;
session.create_time_series(
"root.ln.wf01.wt01.status",
DataType::BOOLEAN,
Encoding::default(),
Compressor::default(),
)?;
let now = Local::now().timestamp_millis();
session.sql(
format!(
"INSERT INTO root.ln.wf01.wt01(timestamp,status) values({},true)",
now
)
.as_str(),
)?;
session.sql(
format!(
"INSERT INTO root.ln.wf01.wt01(timestamp,status) values({},false)",
now + 1000
)
.as_str(),
)?;
session.sql(
format!(
"INSERT INTO root.ln.wf01.wt01(timestamp,status,temperature) values({},false,18.36)",
now + 2000
)
.as_str(),
)?;
session.sql(
format!(
"INSERT INTO root.ln.wf01.wt01(timestamp,status,temperature) values({},true,32.23)",
now + 3000
)
.as_str(),
)?;
session.sql("select * from root.ln")?.show();
// DF (TODO)
let df = session.sql("select * from root.ln")?.to_df()?;
println!("IoTDB DF is empty: {}", df.is_empty());
session.close()?;
Ok(())
}
fn debug(enable: bool) {
use simplelog::*;
let mut log_level = LevelFilter::Info;
if enable {
log_level = LevelFilter::Debug;
}
let _ = CombinedLogger::init(vec![TermLogger::new(
log_level,
Default::default(),
TerminalMode::Mixed,
ColorChoice::Auto,
)]);
}
运行示例
- 从这里下载包
curl -O https://archive.apache.org/dist/iotdb/0.11.2/apache-iotdb-0.11.2-bin.zip
- 安装并启动iotdb服务器
cd $IOTDB_HOME && sbin/start-server -c conf -rpc_port 6667
- 从这里安装rust工具链
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
4. 运行示例
git clone https://github.com/francis-du/iotdb-rs.git
cargo run --example iotdb
许可证
依赖项
~16MB
~296K SLoC