Значение RocksDB fileanme, используемое Kafka Streams - PullRequest
0 голосов
/ 14 июня 2019

Под /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

1 Ответ

2 голосов
/ 14 июня 2019

Имена файлов выводятся с использованием под топологии и номера раздела.

Обычно приложение 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>
...