2016-10-03 3 views
1

Привет, мне очень нужна помощь!Группа в Кассандре, как его использовать?

В новых версиях cassandra имеется группа по функциям, однако примеров с этой документацией нет. Я бы хотел увидеть примеры использования вместе с пунктом где. Если у меня была таблица вроде:

create table mytable (
column1 text, 
column2 text, 
column3 text, 
Primary key (column1,column2,column3)); 

Я мог бы сделать запрос, как показано ниже: :

Select column1 From mytable Where column2=value Group By column3 

Какова карта, которая должна быть полем группировки с разделом и кластерами?

ответ

1

Вы можете сделать материализованное представление предварительно группируют column3s шпоночным по COLUMN2 как:

CREATE MATERIALIZED VIEW something-mytable AS 
     SELECT column1, column2, column2 FROM mytable 
     WHERE column1 IS NOT NULL AND column2 IS NOT NULL AND column3 IS NOT NULL 
     PRIMARY KEY ((column2), column3) 

И SELECT * FROM something-mytable WHERE column2 = value бы все в колонка3 отсортирован, перечисляя все COLUMN1 для каждого.

3.10GROUP BY добавляется поддержка, но его довольно новый.

+0

'ПЕРВИЧНЫЙ КЛЮЧ ((column2), column3)' это невозможно из-за первичного ключа из таблицы mytable include column1. – Mvram

+0

его материализованное представление, когда вы вставляете данные, оно денормализует его в другую таблицу, с помощью столбца2 вместо столбца1 с индексом кластеризации столбца3, поэтому вы можете запросить группы столбцов3 по столбцу2 –

+0

@chris у вас есть какой-либо запрос благодаря которым мы можем сохранить результаты группы после создания представления. –