🔹 Память в Big Data: как не уронить процесс 🔹 Почему процесс падает по памяти при обработке гигантских наборов данных? 🔸 Загружая всё в память (списки, DataFrame, буферы), вы быстро достигаете лимита: ОС убивает процесс или сборщик мусора (garbage collection) начинает тратить много времени на освобождение — задержки и краши.

🔸 Chunk processing (обработка кусками) решает это: читаем/обрабатываем порцию данных, освобождаем память, переходим к следующей порции. Это нужно, когда размер данных > доступной RAM.

🔸 Stream-подход (потоковая обработка) — читать, преобразовать, отправить дальше без накопления. Стрим снижает давление на memory и уменьшает работу GC, т.к. объекты живут недолго.

🔸 Следите за ссылками: удержание ссылок мешает garbage collection. Используйте генераторы, дел, weakref для больших объектов и профилируйте память.

def read_in_chunks(path, size=1024*1024): with open(path,'rb') as f: while True: chunk = f.read(size) if not chunk: break yield chunk

for c in read_in_chunks('big.dat'): process(c) # обработал и забыл

📚 Мера: профайлер памяти + предпочитайте stream/chunk вместо полного чтения.

#CODERIKK #De #Junior

➡️ Мы в Telegram - Сетке - Дзен Буду рад вашей реакции здесь⬇️


В этом посте были ссылки, но мы их удалили по правилам Сетки

🔹 Память в Big Data: как не уронить процесс
🔹 Почему процесс падает по памяти при обработке гигантских наборов данных?
🔸 Загружая всё в память (списки, DataFrame, буферы), вы быстро достигаете лимита:... | Сетка — социальная сеть от hh.ru