系统工具

加载 TsFile

介绍

加载外部 tsfile 文件工具允许用户向正在运行中的 Apache IoTDB 中加载、删除或移出 tsfile 文件。

使用方式

用户通过 Cli 工具或 JDBC 向 Apache IoTDB 系统发送指定命令实现文件加载的功能。

加载 tsfile 文件

加载 tsfile 文件的指令为:load "<path/dir>" [autoregister=true/false][,sglevel=int][,verify=true/false]

该指令有两种用法:

  1. 通过指定文件路径(绝对路径)加载单 tsfile 文件。

第二个参数表示待加载的 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=false
  • load "/Users/Desktop/data/1575028885956-101-0.tsfile" autoregister=true
  • load "/Users/Desktop/data/1575028885956-101-0.tsfile" sglevel=1
  • load "/Users/Desktop/data/1575028885956-101-0.tsfile" verify=true
  • load "/Users/Desktop/data/1575028885956-101-0.tsfile" autoregister=true,sglevel=1
  • load "/Users/Desktop/data/1575028885956-101-0.tsfile" verify=false,sglevel=1
  • load "/Users/Desktop/data/1575028885956-101-0.tsfile" autoregister=false,verify=true
  • load "/Users/Desktop/data/1575028885956-101-0.tsfile" autoregister=false,sglevel=1,verify=true
  1. 通过指定文件夹路径(绝对路径)批量加载文件。

第二个参数表示待加载的 tsfile 文件夹的路径,其中文件夹内所有文件名称需要符合 tsfile 的命名规范,即{systemTime}-{versionNum}-{in_space_compaction_num}-{cross_space_compaction_num}.tsfile。选项意义与加载单个 tsfile 文件相同。

示例:

  • load "/Users/Desktop/data"
  • load "/Users/Desktop/data" autoregister=false
  • load "/Users/Desktop/data" autoregister=true
  • load "/Users/Desktop/data" autoregister=true,sglevel=1
  • load "/Users/Desktop/data" autoregister=false,sglevel=1,verify=true

删除 tsfile 文件

删除 tsfile 文件的指令为:remove "<path>"

该指令通过指定文件路径删除 tsfile 文件,具体做法是将该 tsfile 和其对应的.resource.modification文件全部删除。

示例:

  • remove "root.vehicle/1575028885956-101-0.tsfile"
  • remove "1575028885956-101-0.tsfile"

移出 tsfile 文件至指定目录

移出 tsfile 文件的指令为:move "<path>" "<dir>"

该指令将指定路径的 tsfile 文件移动至目标文件夹(绝对路径)中,具体做法是在引擎中移出该 tsfile,并将该 tsfile 文件和其对应的.resource文件移动到目标文件夹下

示例:

  • move "root.vehicle/1575029224130-101-0.tsfile" "/data/data/tmp"
  • move "1575029224130-101-0.tsfile" "/data/data/tmp"