在/tmp/streams-my-application-id
下
我找到了RocksDB使用的文件。我的目的是通过du -h
检查文件大小。
看到文件名时,我很好奇文件名的含义。文件名是什么意思?我想它与Kafka Streams任务和分区有关。
前缀0和1是否表示使用的主题数,而后面使用的是分区?
此KafkaStreams应用程序仅使用KStream-KTable联接了两个主题,一个主题是重新分区并缩减为KTable。
8,0K ./0_2
8,0K ./0_1
3,1M ./1_2/rocksdb/KSTREAM-REDUCE-STATE-STORE-0000000002
3,1M ./1_2/rocksdb
3,1M ./1_2
3,0M ./1_0/rocksdb/KSTREAM-REDUCE-STATE-STORE-0000000002
3,0M ./1_0/rocksdb
3,1M ./1_0
3,0M ./1_1/rocksdb/KSTREAM-REDUCE-STATE-STORE-0000000002
3,0M ./1_1/rocksdb
3,0M ./1_1
8,0K ./0_0
答案 0 :(得分:2)
文件名是使用子拓扑和分区号派生的。
通常,KStream应用程序被划分为若干子拓扑(即子拓扑0、1、2等)。在使用状态转换时,状态存储目录使用 参考以生成如下所示的目录和文件名:
<sub-topology-number>_<partition_number>
所以第一个数字代表子拓扑,第二个数字代表分区号
8,0K ./0_2 //directory
8,0K ./0_1 // diretory
3,1M ./1_2/rocksdb/KSTREAM-REDUCE-STATE-STORE-0000000002
KSTREAM-REDUCE-STATE-STORE-0000000002
的格式是
<Processor Node Type>-<Processor Node number>