Maintenance Tool

IoTDB Data Directory Overview Tool

IoTDB data directory overview tool is used to print an overview of the IoTDB data directory structure. The location is tools/tsfile/print-iotdb-data-dir.

Usage

  • For Windows:
  1. .\print-iotdb-data-dir.bat <IoTDB data folder path, separated by commas if there are multiple folders> (<storage path of the output overview file>)
  • For Linux or MacOs:
  1. ./print-iotdb-data-dir.sh <IoTDB data folder path, separated by commas if there are multiple folders> (<storage path of the output overview file>)

Note: if the storage path of the output overview file is not set, the default relative path “IoTDB_data_dir_overview.txt” will be used.

Example

Use Windows in this example:

  1. .\print-iotdb-data-dir.bat D:\github\master\iotdb\data\datanode\data
  2. ````````````````````````
  3. Starting Printing the IoTDB Data Directory Overview
  4. ````````````````````````
  5. output save path:IoTDB_data_dir_overview.txt
  6. data dir num:1
  7. 143 [main] WARN o.a.i.t.c.conf.TSFileDescriptor - not found iotdb-common.properties, use the default configs.
  8. |==============================================================
  9. |D:\github\master\iotdb\data\datanode\data
  10. |--sequence
  11. | |--root.redirect0
  12. | | |--1
  13. | | | |--0
  14. | |--root.redirect1
  15. | | |--2
  16. | | | |--0
  17. | |--root.redirect2
  18. | | |--3
  19. | | | |--0
  20. | |--root.redirect3
  21. | | |--4
  22. | | | |--0
  23. | |--root.redirect4
  24. | | |--5
  25. | | | |--0
  26. | |--root.redirect5
  27. | | |--6
  28. | | | |--0
  29. | |--root.sg1
  30. | | |--0
  31. | | | |--0
  32. | | | |--2760
  33. |--unsequence
  34. |==============================================================

TsFile Sketch Tool

TsFile sketch tool is used to print the content of a TsFile in sketch mode. The location is tools/tsfile/print-tsfile.

Usage

  • For Windows:
  1. .\print-tsfile-sketch.bat <TsFile path> (<storage path of the output sketch file>)
  • For Linux or MacOs:
  1. ./print-tsfile-sketch.sh <TsFile path> (<storage path of the output sketch file>)

Note: if the storage path of the output sketch file is not set, the default relative path “TsFile_sketch_view.txt” will be used.

Example

Use Windows in this example:

  1. .\print-tsfile.bat D:\github\master\1669359533965-1-0-0.tsfile D:\github\master\sketch.txt
  2. ````````````````````````
  3. Starting Printing the TsFile Sketch
  4. ````````````````````````
  5. TsFile path:D:\github\master\1669359533965-1-0-0.tsfile
  6. Sketch save path:D:\github\master\sketch.txt
  7. 148 [main] WARN o.a.i.t.c.conf.TSFileDescriptor - not found iotdb-common.properties, use the default configs.
  8. -------------------------------- TsFile Sketch --------------------------------
  9. file path: D:\github\master\1669359533965-1-0-0.tsfile
  10. file length: 2974
  11. POSITION| CONTENT
  12. -------- -------
  13. 0| [magic head] TsFile
  14. 6| [version number] 3
  15. ||||||||||||||||||||| [Chunk Group] of root.sg1.d1, num of Chunks:3
  16. 7| [Chunk Group Header]
  17. | [marker] 0
  18. | [deviceID] root.sg1.d1
  19. 20| [Chunk] of root.sg1.d1.s1, startTime: 1669359533948 endTime: 1669359534047 count: 100 [minValue:-9032452783138882770,maxValue:9117677033041335123,firstValue:7068645577795875906,lastValue:-5833792328174747265,sumValue:5.795959009889246E19]
  20. | [chunk header] marker=5, measurementID=s1, dataSize=864, dataType=INT64, compressionType=SNAPPY, encodingType=RLE
  21. | [page] UncompressedSize:862, CompressedSize:860
  22. 893| [Chunk] of root.sg1.d1.s2, startTime: 1669359533948 endTime: 1669359534047 count: 100 [minValue:-8806861312244965718,maxValue:9192550740609853234,firstValue:1150295375739457693,lastValue:-2839553973758938646,sumValue:8.2822564314572677E18]
  23. | [chunk header] marker=5, measurementID=s2, dataSize=864, dataType=INT64, compressionType=SNAPPY, encodingType=RLE
  24. | [page] UncompressedSize:862, CompressedSize:860
  25. 1766| [Chunk] of root.sg1.d1.s3, startTime: 1669359533948 endTime: 1669359534047 count: 100 [minValue:-9076669333460323191,maxValue:9175278522960949594,firstValue:2537897870994797700,lastValue:7194625271253769397,sumValue:-2.126008424849926E19]
  26. | [chunk header] marker=5, measurementID=s3, dataSize=864, dataType=INT64, compressionType=SNAPPY, encodingType=RLE
  27. | [page] UncompressedSize:862, CompressedSize:860
  28. ||||||||||||||||||||| [Chunk Group] of root.sg1.d1 ends
  29. 2656| [marker] 2
  30. 2657| [TimeseriesIndex] of root.sg1.d1.s1, tsDataType:INT64, startTime: 1669359533948 endTime: 1669359534047 count: 100 [minValue:-9032452783138882770,maxValue:9117677033041335123,firstValue:7068645577795875906,lastValue:-5833792328174747265,sumValue:5.795959009889246E19]
  31. | [ChunkIndex] offset=20
  32. 2728| [TimeseriesIndex] of root.sg1.d1.s2, tsDataType:INT64, startTime: 1669359533948 endTime: 1669359534047 count: 100 [minValue:-8806861312244965718,maxValue:9192550740609853234,firstValue:1150295375739457693,lastValue:-2839553973758938646,sumValue:8.2822564314572677E18]
  33. | [ChunkIndex] offset=893
  34. 2799| [TimeseriesIndex] of root.sg1.d1.s3, tsDataType:INT64, startTime: 1669359533948 endTime: 1669359534047 count: 100 [minValue:-9076669333460323191,maxValue:9175278522960949594,firstValue:2537897870994797700,lastValue:7194625271253769397,sumValue:-2.126008424849926E19]
  35. | [ChunkIndex] offset=1766
  36. 2870| [IndexOfTimerseriesIndex Node] type=LEAF_MEASUREMENT
  37. | <s1, 2657>
  38. | <endOffset, 2870>
  39. ||||||||||||||||||||| [TsFileMetadata] begins
  40. 2891| [IndexOfTimerseriesIndex Node] type=LEAF_DEVICE
  41. | <root.sg1.d1, 2870>
  42. | <endOffset, 2891>
  43. | [meta offset] 2656
  44. | [bloom filter] bit vector byte array length=31, filterSize=256, hashFunctionSize=5
  45. ||||||||||||||||||||| [TsFileMetadata] ends
  46. 2964| [TsFileMetadataSize] 73
  47. 2968| [magic tail] TsFile
  48. 2974| END of TsFile
  49. ---------------------------- IndexOfTimerseriesIndex Tree -----------------------------
  50. [MetadataIndex:LEAF_DEVICE]
  51. └──────[root.sg1.d1,2870]
  52. [MetadataIndex:LEAF_MEASUREMENT]
  53. └──────[s1,2657]
  54. ---------------------------------- TsFile Sketch End ----------------------------------

Explanations:

  • Separated by “|”, the left is the actual position in the TsFile, and the right is the summary content.
  • “||||||||||||||||||||” is the guide information added to enhance readability, not the actual data stored in TsFile.
  • The last printed “IndexOfTimerseriesIndex Tree” is a reorganization of the metadata index tree at the end of the TsFile, which is convenient for intuitive understanding, and again not the actual data stored in TsFile.

TsFile Resource Sketch Tool

TsFile resource sketch tool is used to print the content of a TsFile resource file. The location is tools/tsfile/print-tsfile-resource-files.

Usage

  • For Windows:
  1. .\print-tsfile-resource-files.bat <path of the parent directory of the TsFile resource files, or path of a TsFile resource file>
  • For Linux or MacOs:
  1. ./print-tsfile-resource-files.sh <path of the parent directory of the TsFile resource files, or path of a TsFile resource file>

Example

Use Windows in this example:

  1. .\print-tsfile-resource-files.bat D:\github\master\iotdb\data\datanode\data\sequence\root.sg1\0\0
  2. ````````````````````````
  3. Starting Printing the TsFileResources
  4. ````````````````````````
  5. 147 [main] WARN o.a.i.t.c.conf.TSFileDescriptor - not found iotdb-common.properties, use the default configs.
  6. 230 [main] WARN o.a.iotdb.db.conf.IoTDBDescriptor - Cannot find IOTDB_HOME or IOTDB_CONF environment variable when loading config file iotdb-common.properties, use default configuration
  7. 231 [main] WARN o.a.iotdb.db.conf.IoTDBDescriptor - Couldn't load the configuration iotdb-common.properties from any of the known sources.
  8. 233 [main] WARN o.a.iotdb.db.conf.IoTDBDescriptor - Cannot find IOTDB_HOME or IOTDB_CONF environment variable when loading config file iotdb-datanode.properties, use default configuration
  9. 237 [main] WARN o.a.iotdb.db.conf.IoTDBDescriptor - Couldn't load the configuration iotdb-datanode.properties from any of the known sources.
  10. Analyzing D:\github\master\iotdb\data\datanode\data\sequence\root.sg1\0\0\1669359533489-1-0-0.tsfile ...
  11. Resource plan index range [9223372036854775807, -9223372036854775808]
  12. device root.sg1.d1, start time 0 (1970-01-01T08:00+08:00[GMT+08:00]), end time 99 (1970-01-01T08:00:00.099+08:00[GMT+08:00])
  13. Analyzing the resource file folder D:\github\master\iotdb\data\datanode\data\sequence\root.sg1\0\0 finished.
  1. .\print-tsfile-resource-files.bat D:\github\master\iotdb\data\datanode\data\sequence\root.sg1\0\0\1669359533489-1-0-0.tsfile.resource
  2. ````````````````````````
  3. Starting Printing the TsFileResources
  4. ````````````````````````
  5. 178 [main] WARN o.a.iotdb.db.conf.IoTDBDescriptor - Cannot find IOTDB_HOME or IOTDB_CONF environment variable when loading config file iotdb-common.properties, use default configuration
  6. 186 [main] WARN o.a.i.t.c.conf.TSFileDescriptor - not found iotdb-common.properties, use the default configs.
  7. 187 [main] WARN o.a.iotdb.db.conf.IoTDBDescriptor - Couldn't load the configuration iotdb-common.properties from any of the known sources.
  8. 188 [main] WARN o.a.iotdb.db.conf.IoTDBDescriptor - Cannot find IOTDB_HOME or IOTDB_CONF environment variable when loading config file iotdb-datanode.properties, use default configuration
  9. 192 [main] WARN o.a.iotdb.db.conf.IoTDBDescriptor - Couldn't load the configuration iotdb-datanode.properties from any of the known sources.
  10. Analyzing D:\github\master\iotdb\data\datanode\data\sequence\root.sg1\0\0\1669359533489-1-0-0.tsfile ...
  11. Resource plan index range [9223372036854775807, -9223372036854775808]
  12. device root.sg1.d1, start time 0 (1970-01-01T08:00+08:00[GMT+08:00]), end time 99 (1970-01-01T08:00:00.099+08:00[GMT+08:00])
  13. Analyzing the resource file D:\github\master\iotdb\data\datanode\data\sequence\root.sg1\0\0\1669359533489-1-0-0.tsfile.resource finished.