IoTDB数据导出导入

在一次生产环境数据提取时,发现生产环境已经累计了有近30G的数据,直接拷贝整个IoTDB目录这种笨办法虽然无脑,但是太耗时了。
于是,尝试并记录,使用IoTDB自带数据导出功能。

前言

压缩整个IoTDB目录,拷贝到本地,再解压,再运行。这种方式虽然简单快捷,但是不适合已经存在大量数据的情况,尤其是只想取十几二十个时间序列的测点时,这种方式就显得特别笨。

0.12.6

此版本的IoTDB在根目录/tools下可以找到export-csv.bat、import-csv.bat文件

导出

命令

1
2
3
4
5
6
7
export-csv.bat -h 127.0.0.1 ^
-p 6667 ^
-u root ^
-pw root ^
-td {导出路径} ^
-f {导出文件名} ^
-q "{查询语句}"

示例

假设,我们想导出:root.test.p1、root.test.p2
的测点s0
在2026-02-01 00:00:00~2026-02-10 23:59:59时间段的数据

1
2
3
4
5
6
7
export-csv.bat -h 127.0.0.1 ^
-p 6667 ^
-u root ^
-pw root ^
-td D:/apache-iotdb-0.12.6-all-bin/export ^
-f iotdbfile ^
-q "select s0 from root.test.p1,root.test.p2 where time >= 2026-02-01 00:00:00 and time <= 2026-02-10 23:59:59"

注意事项

-h、-p、-u、-pw、-td是必填参数

执行之后,就能在D:/apache-iotdb-0.12.6-all-bin/export目录下看到iotdbfile0.csv数据文件了

导入

命令

1
2
3
4
5
import-csv.bat -h 127.0.0.1 ^
-p 6667 ^
-u root ^
-pw root ^
-f {导入文件名}

示例

还是刚刚的时间序列和测点

1
2
3
4
5
import-csv.bat -h 127.0.0.1 ^
-p 6667 ^
-u root ^
-pw root ^
-f D:/apache-iotdb-0.12.6-all-bin/export/iotdbfile0.csv

注意事项

-h、-p、-u、-pw、-f是必填参数

如果文章对您有帮助,欢迎评论或打赏,感谢支持!