У меня есть таблица Кассандры, как показано ниже:Как выполнить несколько запросов в одном пакете на Кассандре
create table experience.userstats (stream varchar, user varchar, computer varchar, experience varchar, amount int, primary key (experience, stream, user, computer);
Я использую штормовые болты Apache для создания этих записей в Кассандру из носика очереди.
Я хочу генерировать статистику агрегатов и отображать счетчик для разных событий для данного потока в виде круговой диаграммы. Например, 30% удовлетворены, 40% смешанны и 30% неудовлетворены.
Поскольку я не могу обновлять счетчики в Интернете, я использую Clock spout (таймер) для чтения этих данных и создания счетчиков в новую таблицу. Но Кассандра не поддерживает групповые предложения, и поэтому я должен прочитать три раза, чтобы получить счетчик для каждого опыта, как показано ниже.
select count(*) from experience.userstats where experience='satisfied' and stream='xyz';
select count(*) from experience.userstats where experience='unsatisfied' and stream='xyz';
select count(*) from experience.userstats where experience='mixed' and stream='xyz';
Проблема такого подхода заключается в том, что я должен выполнить три запроса на базу данных, чтобы получить счетчики для 3-х типов опыта и опыта могут быть изменены в среднем времени делает эти счетчики противоречива.
Есть ли способ, который я могу выполнить над тремя операциями select в одной партии? Или вы могли бы предложить альтернативный подход к дизайну?
http://docs.datastax.com/ru/cql/3.1/cql/cql_reference/batch_r.html –
Он поддерживает только dml no? – pavybez