Выгрузка событий за год не помещается в память ноутбука
Для модели оттока нужны признаки уровня «клиент-месяц»: число событий, сумма и средний интервал между ними. Исходная таблица событий в ClickHouse — около 15 млн строк за год. Ваш код падает по памяти:
events = pd.read_sql("SELECT * FROM events WHERE dt >= '2025-01-01'", conn)
features = events.groupby(["client_id", "month"]).agg(...)
Какое решение здесь основное?
- Читать таблицу чанками по 500 тысяч строк и склеивать их в один DataFrame через concat
- Взять первые 2 млн строк через LIMIT и работать с этой частью данных
- Посчитать агрегаты запросом с GROUP BY на стороне базы и выгрузить готовую витрину клиент-месяц
- Запросить машину с большим объёмом памяти, задача по сути требует всех сырых строк
