2013-11-22 2 views
3

Я пытаюсь создать семейство столбцов в CLIS версии 1.1 Cassandra, я не уверен, как указать первичный ключ как movieid.Cassandra CLI создает семейство столбцов с первичным ключом

CREATE COLUMN FAMILY movies 
WITH comparator = UTF8Type 
AND key_validation_class=UTF8Type 
AND column_metadata = [ 
{column_name: movieid, validation_class: UTF8Type} 
{column_name: title, validation_class: UTF8Type} 
{column_name: genres, validation_class: UTF8Type}]; 

ответ

4

Создание семейства столбцов через CLI не создает схему, к которой вы должны придерживаться. Это зависит от того, как вы вставляете данные, что определяет первичный ключ. Когда вы создаете семейство столбцов через CLi, вам нужно только определить, какое значение будет содержать первичный ключ, т. Е. Это строка (UTF8Type), int (IntegerType) и т. Д.

Также вы не имеете псевдонима для столбец KEY (ака первичный ключ в вашей таблице) через CLI. Вы have to use CQL for that. Если вам нужны определенные схемы и структурированные запросы, а не использование больших строк, вы должны настроить таргетинг на более новую версию cassandra (почему теперь 1.2.x?) И использовать CLQ3.

Более наглядное представление о том, что я имею в виду, ваш Cassandra-кли оператор создает это, если смотреть с cqlsh через описание команды таблицы:

CREATE TABLE movies (
    KEY text PRIMARY KEY, <------- pk 
    genres text, 
    title text, 
    movieid text 
) WITH // and a bunch of cf options 

Но это не означает, что вы не можете вставить еще один столбец, который ISN 't определен там, потому что бережливость действительно не заботится о схеме CF.

Смежные вопросы