IOTDB 的数据导入导出工具,导出的数据主要包含时间序列的结构和其对应的数据。
本项目分为两个子项目:backup-core和backup-command项目;
backup-core项目包含主要的业务逻辑和实现方法,该项目可以以jar包的形式对外提供服务。
backup-command项目是一个工具类包,功能实现依赖于核心项目,提供命令行工具。
前提:
你可以使用以下命令来编译或者打包这个项目:
mvn clean package; mvn install; mvn test;
ps: 使用 ‘-DskipTests’ 来跳过测试用例
由于core-jar还没有放到远程仓库,为了顺利编译工具,首先需要执行mvn install -DskipTests。
集成测试需要一个真正的iotdbserver,你可以在“test/resource/sesseinConfig.properties”中配置服务器.
pipeline设计文档: https://apache-iotdb.feishu.cn/wiki/wikcn8zaxOegcQ4vBASwtmbmE4f
导出命令工具:data-export.bat/data-export.sh
-h // iotdb host address -p // port -u // username -pw // password -f // fileFolder -i // 要导出的路径 -sy // 文件生成策略,1.以设备的路径为为文件名生成文件 2、额外提供一个文件来记录文件名与设备路径的对应关系,除了tsfile,其他格式适用 -se // 是否需要导出时间序列结构,如果是true的话,工具会额外导出一个文件来记录它对应的时间序列结构 -c // 压缩格式 : SQL、CSV、SNAPPY、GZIP、LZ4、TSFILE -w // where 条件 -vn // virtualNum 虚拟存储组个数,导出tsfile格式适用 -pi // partitionInterval 时间分区间隔,导出tsfile格式适用
导入命令工具: data-import.bat/data-import.sh
-h // iotdb host address -p // port -u // username -pw // password -f // fileFolder -se // 是否需要从记录时间序列结构的文件创建对应的时间序列,如果是true的话,创建时间序列 -c // 压缩格式 : SQL、CSV、SNAPPY、GZIP、LZ4
场景描述:
存储组root.ln.company1 下有两台挖掘机d1、d2
存储组root.ln.company2 下有1个出租车队team1
导出d1设备,导出文件到d:/company1/machine,文件策略选择第二种(额外文件),需要生成时间序列结构,文件格式gzip
data-export.bat -h 127.0.0.1 -p 6667 -u root -pw root -f d:\\company1\\machine -i root.ln.company1.diggingMachine.d1 -sy true -se true -c gzip
导出结果:
TIMESERIES_STRUCTURE.STRUCTURE 记录时间序列结构
CATALOG_COMPRESS.CATALOG 记录文件名与设备路径的对应关系
1.gz.bin
导出company1下所有设备,导出文件到d:/company1/machine,文件策略选择第一种,不需要生成时间序列结构,文件格式csv
data-export.bat -h 127.0.0.1 -p 6667 -u root -pw root -f d:\\company1\\machine -i root.ln.company1.** -sy false -se false -c csv
导出结果:
d2.csv
d1.csv
导出root.ln下所有设备,导出文件到d:/all/devices,文件策略选择第一种,需要生成时间序列结构,文件格式csv
data-export.bat -h 127.0.0.1 -p 6667 -u root -pw root -f d:\\all\\devices -i root.ln.** -sy false -se true -c csv -w "time > 1651036025230"
导出结果:
TIMESERIES_STRUCTURE.STRUCTURE 记录时间序列结构
d2.csv
d1.csv
team1.csv
导入数据,指定导出数据的文件夹d:/all/devices,需要导入时间序列,文件格式csv
data-import.bat -h 127.0.0.1 -p 6667 -u root -pw root -f d:\\all\\devices -se true -c csv
ps: 导出 tsfile
data-export.bat -h 127.0.0.1 -p 6667 -u root -pw root -f d:\\tsfileexport\\A106 -i root.yyy.** -se false -c tsfile -vn 3 -pi 604800
如果你想导入tsfile文件,请使用 Load External TsFile Tool工具。