Почему Cassandra выдает эту ошибку при использовании предложения GROUP BY - PullRequest
1 голос
/ 06 ноября 2019

ENCOUNTERED ERROR

Когда я выполняю следующее GROUP BY предложение:

SELECT month, title, country, director, sum(sum_taps), avg(viewing) FROM taps GROUP BY month, title, country, director;

Я получаю следующую ошибку :

SyntaxException: <Error from server: code=2000 [Syntax error in CQL query] message="line 1:78 no viable alternative at input 'GROUP' (...), avg(viewing) FROM [taps] GROUP...)">

КАК СОЗДАЕТСЯ ТАБЛИЦА

Таблица создается следующим образом:

CREATE TABLE taps (Month text, Title text, Country text, Director text, Viewing float, sum_taps float, PRIMARY KEY (Month,Title,Country,Director));

Где данные были импортированы из файла CSV с шестью столбцами: месяц, должность, директор, страна, процент просмотра и общее количество просмотров . Имена, которые я предоставляю, не совпадают с именами столбцов, поэтому они более понятны. Этот файл связан с фильмами, приобретенными для определенных клиентов за определенный месяц. Мы должны выполнить аналитику статистики просмотра.

ОПИСАНИЕ ТАБЛИЦЫ

Опишите вывод таблицы:

CREATE TABLE assignment.taps (
    month text,
    title text,
    country text,
    director text,
    sum_taps float,
    viewing float,
    PRIMARY KEY (month, title, country, director)
) WITH CLUSTERING ORDER BY (title ASC, country ASC, director ASC)
    AND bloom_filter_fp_chance = 0.01
    AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'}
    AND comment = ''
    AND compaction = {'class': 'org.apache.cassandra.db.compaction.SizeTieredCompactionStrategy', 'max_threshold': '32', 'min_threshold': '4'}
    AND compression = {'chunk_length_in_kb': '64', 'class': 'org.apache.cassandra.io.compress.LZ4Compressor'}
    AND crc_check_chance = 1.0
    AND dclocal_read_repair_chance = 0.1
    AND default_time_to_live = 0
    AND gc_grace_seconds = 864000
    AND max_index_interval = 2048
    AND memtable_flush_period_in_ms = 0
    AND min_index_interval = 128
    AND read_repair_chance = 0.0
    AND speculative_retry = '99PERCENTILE';

Есть идеи, что я могу делать не так?

Заранее спасибо

1 Ответ

0 голосов
/ 07 ноября 2019

Я создал вашу таблицу выше и попробовал ваш запрос. Он должен работать. Какую версию Кассандры вы используете? Кажется, вам может понадобиться Кассандра 3.10 или выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...