2013-06-06 1 views
1

Я хочу, чтобы вставить данные в композитной семьи колонки через CQL 3.Cassandra композитной структура колонны и вставка

create column family marks with 
comparator = 'CompositeType(DateType,UTF8Type,UTF8Type)' AND 
key_validation_class=UTF8Type AND 
default_validation_class=UTF8Type; 

Структура будет производиться один раз с Кассандрой-кли оболочками и результатом будет сохранена в Кассандре как

**63** (2013-06-04 00:00:00 UTC, Science, 89.00): '' 
     (2013-06-04 00:00:00 UTC, Mathematics, 80.00): '' 
     (2013-06-04 00:00:00 UTC, English, 90.00):'' 

Здесь ключ строки - это 63, который является Первичным ключом и уникальным. И данные будут сохранены в cassandra, как указано выше, только в имени столбца. Какой будет запрос вставки для этого и какой будет наиболее подходящий драйвер для достижения этого CQL3 или бережливости.

ответ

1

В CQL3, вы делаете это с помощью составного первичного ключа:

CREATE TABLE marks (
    id text, 
    date timestamp, 
    subject text, 
    mark text, 
    PRIMARY KEY (id, date, subject, mark) 
) 

С помощью этой схемы, идентификатор ключа строки, так как она указана в первом. Имена столбцов представляют собой совокупность даты: subject: mark.

Вы можете вставить:

insert into marks (id, date, subject, mark) values ('63', '2013-06-04 00:00:00 UTC', 'Science', '89.00'); 
insert into marks (id, date, subject, mark) values ('63', '2013-06-04 00:00:00 UTC', 'Mathematics', '80.00'); 
insert into marks (id, date, subject, mark) values ('63', '2013-06-04 00:00:00 UTC', 'English', '90.00'); 

И список:

> select * from marks; 

id | date      | subject  | mark 
----+--------------------------+-------------+------- 
63 | 2013-06-04 01:00:00+0100 |  English | 90.00 
63 | 2013-06-04 01:00:00+0100 | Mathematics | 80.00 
63 | 2013-06-04 01:00:00+0100 |  Science | 89.00 

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

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

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

  • Нет связанных вопросов^_^