in java/tsfile/src/main/java/org/apache/tsfile/utils/TsFileSketchTool.java [179:268]
private void printTsFileMetadata(TsFileMetadata tsFileMetaData) {
try {
long pos = reader.getFileMetadataPos();
printlnBoth(pw, splitStr + " [TsFileMetadata] begins");
// metadataIndex
printlnBoth(
pw,
String.format("%20s", pos)
+ "|\tTableIndexRootCnt="
+ tsFileMetaData.getTableMetadataIndexNodeMap().size());
pos += Integer.BYTES;
for (Entry<String, MetadataIndexNode> entry :
tsFileMetaData.getTableMetadataIndexNodeMap().entrySet()) {
printlnBoth(
pw,
String.format("%20s", pos)
+ "|\t[Table Name] "
+ entry.getKey()
+ ", size="
+ ReadWriteForEncodingUtils.intStringSize(entry.getKey()));
pos += ReadWriteForEncodingUtils.intStringSize(entry.getKey());
pos = printIndexOfTimerseriesIndex(pos, entry.getValue());
}
// table schema
Map<String, TableSchema> tableSchemaMap = reader.getTableSchemaMap();
printlnBoth(pw, String.format("%20s", pos) + "|\tTableSchemaCnt=" + tableSchemaMap.size());
pos += Integer.BYTES;
for (Entry<String, TableSchema> entry : tableSchemaMap.entrySet()) {
final String tableName = entry.getKey();
final TableSchema tableSchema = entry.getValue();
final int serializedSize = tableSchema.serializedSize();
printlnBoth(
pw,
String.format("%20s", pos)
+ "|\t[TableSchema] "
+ tableSchema
+ ", size="
+ serializedSize);
pos += ReadWriteForEncodingUtils.intStringSize(tableName) + serializedSize;
}
// metaOffset
printlnBoth(
pw, String.format("%20s", pos) + "|\t[Meta Offset] " + tsFileMetaData.getMetaOffset());
pos += Long.BYTES;
// bloom filter
BloomFilter bloomFilter = tsFileMetaData.getBloomFilter();
if (bloomFilter != null) {
final int length = bloomFilter.serialize().length;
printlnBoth(
pw,
String.format("%20s", pos)
+ "|\t[Bloom Filter Size] "
+ "bit vector byte array length="
+ length
+ bloomFilter.getHashFunctionSize());
pos += Integer.BYTES;
printlnBoth(
pw,
String.format("%20s", pos)
+ "|\t[Bloom Filter] "
+ ", filterCapacity="
+ bloomFilter.getSize()
+ ", hashFunctionSize="
+ bloomFilter.getHashFunctionSize());
pos += length;
}
printlnBoth(pw, splitStr + " [TsFileMetadata] ends");
printlnBoth(
pw,
String.format("%20s", (reader.getFileMetadataPos() + reader.getTsFileMetadataSize()))
+ "|\t[TsFileMetadataSize] "
+ reader.getTsFileMetadataSize());
printlnBoth(
pw,
String.format("%20s", reader.getFileMetadataPos() + reader.getTsFileMetadataSize() + 4)
+ "|\t[magic tail] "
+ reader.readTailMagic());
} catch (IOException e) {
e.printStackTrace();
}
}