Кассандровый раздел и ключ кластеризации - PullRequest
1 голос
/ 17 апреля 2019

Возможно ли иметь столбец в качестве ключа раздела и ключа кластеризации? Например,

Создать таблицу citylist2 (city varchar, loc list, pop int, zip varchar, государственный varchar, первичный ключ (city, city, zip)) С КЛАСТЕРНЫМ ЗАКАЗОМ ПО (город ASC, zip DESC);

Результат:

InvalidRequest: Ошибка с сервера: код = 2200 [Неверный запрос] message = "Неизвестный город определения, указанный в ПЕРВИЧНОМ КЛЮЧЕ"

Возможно, я делаю это неправильно, но может ли кто-нибудь сказать мне, возможно ли использовать столбец "город" в качестве ключа разделения и кластеризации и как это сделать, если это возможно?

Ответы [ 3 ]

1 голос
/ 17 апреля 2019

Насколько я понимаю, это невозможно.Ключ раздела разделяет ваши данные по разделам, а ключ кластера сортирует данные в каждом разделе .Поэтому не имеет смысла иметь ключ раздела, который также является ключом кластеризации.Возможно, вам придется переосмыслить вашу модель данных для того, что вы пытаетесь.

1 голос
/ 17 апреля 2019
Create table citylist2 ( city varchar,citycopy varchar, loc list, pop int, zip varchar, state varchar, primary key (city,citycopy,zip)) WITH CLUSTERING ORDER BY (citycopy ASC, zip DESC);

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

Если вы можете предоставить более подробную информацию о том, почему вы хотитеиспользовать те же данные, что и для разделения и кластеризации, возможно, ответ изменится.

1 голос
/ 17 апреля 2019

Вероятно, проблема в том, что вы пытаетесь сослаться на город дважды в определении первичного ключа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...