Внутренние темы Kafka 'Changelog' и 'repartition' относятся к потокам Kafka.
Из Кафки Вики,
Kafka Streams допускает обработку потока с сохранением состояния, то есть операторов, которые имеют внутреннее состояние. Это внутреннее состояние управляется в так называемых государственных хранилищах. Хранилище состояний может быть эфемерным (потеря при сбое) или отказоустойчивым (восстановление после сбоя). Реализация по умолчанию, используемая DSL Kafka Streams, представляет собой отказоустойчивое хранилище состояний, использующее 1. внутренне созданную и уплотненную тему журнала изменений (для отказоустойчивости) и 2. один (или несколько) экземпляров RocksDB (для поиска в кэше по значению ключа). Таким образом, в случае запуска / остановки приложений и перемотки / повторной обработки эти внутренние данные должны корректно обрабатываться.
Темы журнала изменений создаются, когда в потоке выполняются операции объединения / агрегирования. Фактически результат вызова агрегации создает хранилище состояний, а для отказоустойчивости хранилище состояний резервируется в разделе журнала изменений Kafka.
Результаты агрегирования сохраняются в этой внутренней теме. Состояние будет восстановлено в разделе журнала изменений при перезапуске приложений и изменении идентификатора приложения.
Переразделение разделов создается, когда в потоке выполняются операции изменения ключа. Например, операция groupByKey () создает тему перераспределения. Проверьте Страница JIRA , чтобы узнать больше об автоматическом создании темы повторного разделения.
Эти две внутренние темы позволяют потокам Kafka иметь отказоустойчивые возможности обработки потоков с отслеживанием состояния.
Содержит ли тема перераспределения данные после группировки? - Да
Размер Changelog и topicname-parition примерно одинаковы - Возможно, результаты всех операций агрегирования сохраняются в этом разделе.
Для более подробной информации, пожалуйста, проверьте Kafka Wiki page .