сайт на каждый день формата
created_on Date,
user_id UInt32,
region String,
city String
вопрос: как эффективно посчитать MAU на каждый день? сейчас я делаю примерно так
SELECT
created_on + arr as created_on,
region,
city,
COUNT(DISTINCT user_id) as active_users_count
FROM (
SELECT
created_on,
range(30) as arr,
user_id,
region,
city
FROM table_x
)
ARRAY JOIN arr
GROUP BY created_on, region, city
фактически я 30 раз разворачиваю таблицу, которая сама по себе довольно большая, в памяти и только потом считаю уников. Боюсь, что скоро запросы будут падать по OOM. Есть идеи, как посчитать такую же метрику эффективнее?
Вы хотите на каждый день посчитать количество уников за последние 30 дней?
ан нет, я примерно также решал схожую задачу :(
Обсуждают сегодня