Kafka Connect, Cassandra Sink: Как указать раздел и ключи кластеризации? - PullRequest
1 голос
/ 04 апреля 2020

Я прошел через Cassandra Sink do c, но не вижу, как задать ключи раздела и кластеризации.

Do c говорит следующее:

Вы можете настроить этот соединитель для управления схемой в кластере Cassandra. При изменении существующей таблицы ключ игнорируется. Это сделано для того, чтобы избежать потенциальных проблем при изменении первичного ключа в существующей таблице. Схема ключей используется для генерации первичного ключа для таблицы при ее создании.

Если это новая таблица, Connector будет использовать схему Key (из предполагаемого KStream) для создания первичный ключ. Это может быть хорошо для ключа раздела, но не для ключа кластеризации.

Итак, мы вынуждены создавать все таблицы с правильными ключами перед запуском приложения Streaming или есть способ что-то изменить?

1 Ответ

1 голос
/ 04 апреля 2020

Соединитель Confluent требует, чтобы все столбцы, которые находятся в первичном ключе, были в ключе topi c (как структура, если я правильно помню). Это одно из его ограничений, так как оно может не соответствовать вашему выводу из приложения. В этом случае вам нужно преобразовать topi c для соответствия этому требованию.

Вместо коннектора Confluent я рекомендую взять DataStax Kafka Connector , который тщательно разработан для эффективной загрузки данные в Кассандру / DSE. Он имеет следующие функции (дополнительная информация в следующем сообщении в блоге ):

  • Хранение данных из одной таблицы c в одну или несколько таблиц Cassandra (для поддержки денормализации данных) ;
  • Отображение данных в topi c в столбцы Cassandra определяется файлом конфигурации, поэтому вы можете взять любой фрагмент ключа или значение сообщения и отобразить в столбец;
  • очень эффективен при использовании незагруженных пакетов там, где это возможно & lightweight;
  • поддерживает различные функции безопасности Cassandra / DSE;

Соединитель можно свободно использовать для DSE, начиная с DSE 4.8, и Cassandra, начиная с 2.1.

...