跳至主要內容

...大约 2 分钟

TsFile 拆分工具

0.12 版本的 IoTDB 会产生很大的文件,在运维过程中分析起来比较困难。因此,从 0.12.5 版本和 0.13 版本起,提供TsFile 分离工具,该工具可以将大的 TsFile 文件根据配置项拆分为数个小文件。该启动脚本会在编译 server 之后生成至 server\target\iotdb-server-{version}\tools\tsfileToolSet 目录中。

使用方式:

Windows:

.\split-tsfile-tool.bat <TsFile 文件路径> (-level <所拆分文件的层级>) (-size <所拆分文件的大小>)

Linux or MacOs:

./split-tsfile-tool.sh <TsFile 文件路径> (-level <所拆分文件的层级>) (-size <所拆分文件的大小>)

注意:如果不传入-level,所拆分文件的层级为 10;如果不传入-size,所拆分文件的大小约为 1GB;-size 后参数单位为 byte。
例如,需要指定拆分为 100MB 的文件,且文件层级数为6,则命令为 ./split-tsfile-tool.sh test.tsfile -level 6 -size 1048576000 (Linux or MacOs)

拆分中可以调节的配置项如下:

  1. 拆分所生成的文件大小通过命令传入参数确定的,默认为 1GB。这个配置项同样也是 0.13 版本中合并所能生成文件的目标大小。在 0.13 版本中,文件是否可以合并是通过文件大小确定的,可以通过此配置项控制重启后不继续合并。
  2. 文件所在层级是通过命令传入参数确定的,默认为 10。在 0.12 版本中,文件是否可以合并是通过文件所在层级确定的,可以通过此配置项控制重启后不继续合并。
  3. 文件中 chunk 点数可以通过 chunk_point_num_lower_bound_in_compaction 进行配置,默认为 100。这个配置项同样也是 0.13 版本中合并所能生成文件的 chunk 中点数。

使用拆分工具需要注意如下事项:

  1. 拆分工具为离线运维工具,使用前需关闭 IoTDB,确保所拆分的文件已经完全落盘(即有tsFile.resource文件)。拆分后需移除原文件后重启。
  2. 拆分工具目前尚不支持拆分带有删除区间的 TsFile(即有.mods文件)和写有对齐时间序列的 TsFile。

Copyright © 2024 The Apache Software Foundation.
Apache IoTDB, IoTDB, Apache, the Apache feather logo, and the Apache IoTDB project logo are either registered trademarks or trademarks of The Apache Software Foundation in all countries

Have a question? Connect with us on QQ, WeChat, or Slack. Join the community now.