Изменить первичный ключ семейства столбцов cassandra с помощью cassandra-cli или CQL


Я использую Кассандру 1.2.5. После создания семейства столбцов в Cassandra с помощью cassandra-cli можно ли изменить первичный ключ семейства столбцов с помощью cassandra-cli или CQL?

В частности, в настоящее время у меня есть следующая таблица (из CQL):

CREATE TABLE "table1" (
  key blob,
  column1 blob,
  value blob,
  PRIMARY KEY (key, column1)
);

Я хотел бы, чтобы таблица была следующей, без необходимости отбрасывать и воссоздавать таблицу:

CREATE TABLE "table1" (
  key blob,
  column1 blob,
  value blob,
  PRIMARY KEY (key)
);

Возможно ли это через cassandra-cli или CQL?

1 11

1 ответ:

Первичные ключи непосредственно определяют, как и где Кассандра хранит данные, содержащиеся в таблице (семейство столбцов). Первичный ключ состоит из ключа секционирования и ключа кластеризации (необязательно).

Ключ секции определяет, на каком узле хранятся данные. Он отвечает за распределение данных по узлам. Дополнительные столбцы определяют кластеризацию по разделам (см.документацию по составным ключам ).

Поэтому изменение первичного ключа всегда будет требовать все данные должны быть перенесены. Я не думаю, что у cqlsh или cassandra-cli есть команда для этого (по состоянию на 2015 год)..