Как удалить таблицы или семейства столбцов в cassandra 2.0.5?

Я пытаюсь удалить семейство таблиц/столбцов из своей базы данных, но не могу этого сделать.

Я пробовал следующие команды, и их ответы:

cqlsh:testreducedb> DROP_COLUMNFAMILY largest_time_total;
Bad Request: line 1:0 no viable alternative at input 'DROP_COLUMNFAMILY'
cqlsh:testreducedb> DROP COLUMNFAMILY largest_time_total;
Bad Request: unconfigured columnfamily largest_time_total
cqlsh:testreducedb> DROP COLUMN FAMILY largest_time_total;
Bad Request: line 1:5 no viable alternative at input 'COLUMN'
cqlsh:testreducedb> DROP COLUMN FAMILY 'largest_time_total';
Bad Request: line 1:5 no viable alternative at input 'COLUMN'
cqlsh:testreducedb> DROP COLUMN FAMILY "largest_time_total";
Bad Request: line 1:5 no viable alternative at input 'COLUMN'

а также:

cqlsh:testreducedb> DROP_TABLE largest_time_total;
Bad Request: line 1:0 no viable alternative at input 'DROP_TABLE'
cqlsh:testreducedb> DROP TABLE largest_time_total;
Bad Request: unconfigured columnfamily largest_time_total
cqlsh:testreducedb> DROP TABLE 'largest_time_total';
Bad Request: line 1:11 no viable alternative at input 'largest_time_total'
cqlsh:testreducedb> DROP TABLE "largest_time_total";
Bad Request: unconfigured columnfamily largest_time_total

кто-нибудь знает, как удалить семейства таблиц/столбцов в Cassandra 2.0.5?

Я использую:

[cqlsh 4.1.1 | Cassandra 2.0.5 | CQL spec 3.1.1 | Thrift protocol 19.39.0]

person Charlie Parker    schedule 05.04.2014    source источник


Ответы (1)


Я собираюсь просмотреть ошибки, которые вы получили, чтобы вы могли получить четкое представление о том, что происходит, но, во-первых, обратите внимание, что columnfamily == table.

cqlsh: testreducedb> DROP_COLUMNFAMILY наибольшее_время_общее; Неверный запрос: строка 1:0 не имеет подходящей альтернативы на входе «DROP_COLUMNFAMILY»

DROP_COLUMNFAMILY Недопустимая команда. Это должно быть DROP COLUMNFAMILY или DROP TABLE при условии, что вы уже используете пространство ключей (базу данных), в которой хранится вышеупомянутая таблица (она же семейство столбцов). Если вы не указали пространство ключей для своего клиента, вы можете указать его в операторе drop:

DROP TABLE <keyspace>.<columnfamily>;
DROP TABLE <keyspace>.<table>;
# the below is an actual statement assuming grocerystore is the keyspace and
# shoppers is the columnfamily 
DROP TABLE "grocerystore"."shoppers";

cqlsh:testreducedb> УДАЛИТЬ СЕМЕЙСТВО КОЛОНН, наибольшее_время_общего; Неверный запрос: ненастроенное семейство столбцов, наибольшее_время_общего

Семейство столбцов на самом деле не существует. На основании того, что я увидел cqlsh, я уверен, что вы не указали пространство ключей, в котором хранится *largest_time_total*. Попробуйте использовать USE <keyspace> в cqlsh, например. USE grocerystore;

Остальные ошибки — просто повторение вышеописанного.

P.S Вы были очень близки к этому, но между COLUMN и FAMILY слишком много пробела :)

cqlsh:testreducedb> УДАЛИТЬ СЕМЕЙСТВО КОЛОНЦОВ наибольшее_время_общее; Неверный запрос: строка 1:5 не имеет жизнеспособной альтернативы на входе 'COLUMN'

Пытаться:

USE testreducedb;
DROP COLUMNFAMILY largest_time_total;
person Lyuben Todorov    schedule 05.04.2014