Столкнулся с интересной задачей, когда Jupyter падает от недостатка памяти.
В общем, есть два запроса к mysql. Первый достает список пользователей из одной базы, второй достает данные по этим позьзователям из другой базы.
Первый запрос достает около 100к строк (небольшой дф). А потом начинается веселуха, т.к. на каждого юзера в среднем 2-3К записей из второй базы. Я сделал выгрузку чанками, более-менее отпимизировал их кол-во (чтобы не слишком много, но и не по 10 штук вытаскивать). Так вот во время выгрузки второго запроса kernel падает по памяти. На машине всего 8 гиг оперативы.
Как можно было бы оптимизировать это? По идее можно как-то промежуточные результаты кешировать где-то, но может кто уже решал такое.
у меня был чуть другой кейс когда кернел не выдерживал, но возможно поможет. если в первом df содержатся ключи, по которым ты хочешь достать значения из второго большого df, то второй df можно вытащить как json-дамп и вытягивать из него значения по ключу, не читая его