полям таблицы за месяц, результат агрегированных данных за день болучается около гигабайта, за месяц будет около 30 ГБ. Пробывал играться с max_bytes_before_external_group_by, но после 98% выполнения запроса click падает с ошибкой:
↑ Progress: 54.07 million rows, 23.72 GB (11.38 million rows/s., 4.99 GB/s.) 98%
Received exception from server (version 1.1.54382):
DB::Exception: Memory limit (for query) exceeded: would use 9.31 GiB (attempt to allocate chunk of 65536 bytes), maximum: 9.31 GiB. Правильно ли я понимаю что конечноый результат агрегации должен поместиться в память?
Я понимаю что вот этот конкретный пример уперся в лимтит из конфига(max_memory_usage), я могу увеличить этот параметр, но рано или поздно с такими требоаваниями упрусь в размер памяти на сервере.
Вопрос скорее теоретический. Правильно ли я понимаю что моя проблема не решаема(если нет возможности увеличить max_memory_usage) и нужно разбивать результат на мелкие куски путем фильтрации по датам?
distributed_aggregation_memory_efficient=1; решил проблему
Обсуждают сегодня