Kafka Streams - Как лучше контролировать разделение созданного внутренне раздела государственного магазина? - PullRequest
0 голосов
/ 24 апреля 2018

Государственные магазины в Kafka Streams создаются внутри.Государственные хранилища разделены по ключам, но не позволяют обеспечить разделение, отличное от по ключу (насколько мне известно).

ВОПРОСЫ

Как управлять количеством разделов внутренней ветки хранилища состояний ?Как раздел хранилища состояний определяет количество разделов и разделов, используемых по умолчанию, и как их переопределить?

Как обойти это, если вы хотите разделить свое хранилище состояний на что-то кроме ключа вашей входящей записи значения ключа и иметь совместное разбиение?В этом случае я бы хотел разделить что-то более конкретное, чем мой обычный ключ.Например, у меня есть

case class RegularKey(fieldA: String)

, и я хочу разделить на

case class SpecificKey(fieldA: String, fieldB: String)

Для моей темы с исходным кодом я использую HashPartitioner по числу разделов.

1 Ответ

0 голосов
/ 24 апреля 2018

Количество разделов темы журнала изменений зависит от количества входных разделов темы, и вы не можете изменить его, потому что состояние разделяется на основе этого числа (т. Е. Существует один раздел по сегментам).

ЕслиВы хотите разделить тему журнала изменений по некоторому атрибуту, вы должны установить его в качестве ключа.В вашем случае вы должны установить SpecificKey в качестве ключа сообщения.Не разрешается изменять разбиение, потому что это «сломает» потоки Кафки, что приведет к неверному результату.

...