Сбой при создании таблицы Cassandra с помощью команды order by

#cassandra

#кассандра

Вопрос:

Я пытаюсь создать новую таблицу с помощью команды:

создайте схему таблицы2 (переменная города, список адресов, pop int, переменная почтового индекса, переменная состояния, первичный ключ (город, почтовый индекс)) С ПОРЯДКОМ КЛАСТЕРИЗАЦИИ ПО (город ASC, почтовый индекс DESC);

Но я получаю сообщение об ошибке:

InvalidRequest: ошибка с сервера: code = 2200 [Неверный запрос] message =»В директиве ПОРЯДКА КЛАСТЕРИЗАЦИИ могут быть определены только ключевые столбцы кластеризации»

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

Ответ №1:

создайте схему таблицы2 (переменная города, список адресов, pop int, переменная почтового индекса, переменная состояния, первичный ключ (город, почтовый индекс)) С ПОРЯДКОМ КЛАСТЕРИЗАЦИИ ПО (город ASC, почтовый индекс DESC);

В этом определении (city, zip) называется ПЕРВИЧНЫМ КЛЮЧОМ, city называется ключом раздела, а zip называется ключом кластеризации. Данные распределяются между всеми узлами на основе ключа раздела. Данные упорядочиваются внутри раздела на основе ключа кластеризации. Таким образом, вы не можете выполнять заказы по городу. Ошибка, о которой вы упомянули, ясно указывает на это. Если вы пропустите город в своем заказе на кластеризацию, ваш DDL будет принят.