Я работаю над большим применением данных в scala.Отличный пользователь в cassandra, как это сделать?
Я использую кафку, искру (с кафкой) и Кассандру в качестве хранилища.
У меня есть приложение вне искры, которое запрашивает Cassandra, чтобы показать результат статистики, такой как количество скачиваний.
У меня проблема с статистикой пользователя.
Мне нужно подсчитать количество уникальных пользователей за период (может быть 1 день, 6 дней 7 дней, один месяц или что-то еще) от publisher_id или publisher_id + app_id или даже для всех publisher_id.
Мне нужно рассчитывать в прямом эфире, потому что я не знаю, что такое период, выбранный пользователем.
Мои исходные данные для пользователя сессии является:
CREATE TABLE tests2.raw_sessions (
date_event timeuuid,
year int,
month int,
day int,
hour int,
publisher_id uuid,
app_id text,
user_id text,
session_id text,
PRIMARY KEY (date_event, year, month, day, hour, publisher_id, app_id,
user_id, session_id)
) WITH CLUSTERING ORDER BY (year DESC, month DESC, day DESC, hour DESC, publisher_id ASC, app_id ASC, user_id ASC, session_id ASC)
Я создал несколько таблиц и пробовал много вещей в Кассандре. Я попытался использовать отдельное ключевое слово в cassandra, но только с статическим столбцом (но это не статический столбец), и он может быть уникальным ключом раздела в таблице (мне нужно отфильтровать дату, а идентификатор издателя - app_id
Я думал об использовании базы данных Postgres, но с Кафкой потокового это не совсем оптимальный не так ли?
что такое решение, я должен использовать для этого?
Я не совсем понимаю ваш вопрос. Вы хотите запросить Cassandra или Spark? – eliasah
Я хочу запросить Кассандру. И получите список пользователей Uniq за период с фильтром publisher_id. Я не знаю, как это сделать с Cassandra –