加载外部 tsfile 文件工具允许用户向正在运行中的 Apache IoTDB 中加载、删除或移出 tsfile 文件。
用户通过 Cli 工具或 JDBC 向 Apache IoTDB 系统发送指定命令实现文件加载的功能。
加载 tsfile 文件的指令为:load '<path/dir>' [autoregister=true/false][,sglevel=int][,verify=true/false]
该指令有两种用法:
第二个参数表示待加载的 tsfile 文件的路径,其中文件名称需要符合 tsfile 的命名规范,即{systemTime}-{versionNum}-{in_space_compaction_num}-{cross_space_compaction_num}.tsfile。load 命令有三个可选项,分别是 autoregister,值域为 true/false,sglevel,值域为整数,verify,值域为 true/false。不同选项之间用逗号连接,选项之间无顺序要求。
AUTOREGISTER 选项表示当待加载的 tsfile 文件中时间序列对应的元数据不存在时,用户可以选择是否自动创建 schema ,参数为 true 表示自动创建 schema,相反 false 表示不创建,缺省时默认创建 schema。
SGLEVEL 选项,当 tsfile 对应的存储组不存在时,用户可以通过 sglevel 参数的值来制定存储组的级别,默认为iotdb-engine.properties中设置的级别。例如当设置 level 参数为1时表明此 tsfile 中所有时间序列中层级为1的前缀路径是存储组,即若存在设备 root.sg.d1.s1,此时 root.sg 被指定为存储组。
VERIFY 选项表示是否对载入的 tsfile 中的所有时间序列进行元数据检查,默认为 true。开启时,若载入的 tsfile 中的时间序列在当前 iotdb 中也存在,则会比较该时间序列的所有 Measurement 的数据类型是否一致,如果出现不一致将会导致载入失败,关闭该选项会跳过检查,载入更快。
若待加载的 tsfile 文件对应的.resource文件存在,会被一并加载至 Apache IoTDB 数据文件的目录和引擎中,否则将通过 tsfile 文件重新生成对应的.resource文件,即加载的 tsfile 文件所对应的.resource文件不是必要的。
示例:
load '/Users/Desktop/data/1575028885956-101-0.tsfile'load '/Users/Desktop/data/1575028885956-101-0.tsfile' autoregister=falseload '/Users/Desktop/data/1575028885956-101-0.tsfile' autoregister=trueload '/Users/Desktop/data/1575028885956-101-0.tsfile' sglevel=1load '/Users/Desktop/data/1575028885956-101-0.tsfile' verify=trueload '/Users/Desktop/data/1575028885956-101-0.tsfile' autoregister=true,sglevel=1load '/Users/Desktop/data/1575028885956-101-0.tsfile' verify=false,sglevel=1load '/Users/Desktop/data/1575028885956-101-0.tsfile' autoregister=false,verify=trueload '/Users/Desktop/data/1575028885956-101-0.tsfile' autoregister=false,sglevel=1,verify=true第二个参数表示待加载的 tsfile 文件夹的路径,其中文件夹内所有文件名称需要符合 tsfile 的命名规范,即{systemTime}-{versionNum}-{in_space_compaction_num}-{cross_space_compaction_num}.tsfile。选项意义与加载单个 tsfile 文件相同。
示例:
load '/Users/Desktop/data'load '/Users/Desktop/data' autoregister=falseload '/Users/Desktop/data' autoregister=trueload '/Users/Desktop/data' autoregister=true,sglevel=1load '/Users/Desktop/data' autoregister=false,sglevel=1,verify=true删除 tsfile 文件的指令为:remove '<path>'
该指令通过指定文件路径删除 tsfile 文件,具体做法是将该 tsfile 和其对应的.resource和.modification文件全部删除。
示例:
remove '/Users/Desktop/data/data/root.vehicle/0/0/1575028885956-101-0.tsfile'卸载 tsfile 文件的指令为:unload '<path>' '<dir>'
该指令将指定路径的 tsfile 文件卸载并移动至目标文件夹(绝对路径)中,具体做法是在引擎中卸载该 tsfile,并将该 tsfile 文件和其对应的.resource文件移动到目标文件夹下
示例:
unload '/Users/Desktop/data/data/root.vehicle/0/0/1575028885956-101-0.tsfile' '/data/data/tmp'