← Главная новостей | Торговый зал
2026-11-05 · Источник:KDNuggets

Рутинный шаг загрузки данных умножил резидентную память почти в девятнадцать раз; потоковые парсеры вроде ijson обрабатывают записи по одной, удерживая потребление памяти плоским независимо от размера файла.
808 МБ. Таков отпечаток в памяти, которого достиг процесс Python, проглотив единственный JSON-файл весом на диске всего 43 МБ, — почти девятнадцатикратное расширение и проблема в сердце недавнего инженерного разбора KDNuggets.
Скачок — не баг; это дефолтное поведение парсинга целого файла. Когда Python загружает JSON-документ обычным способом, он овеществляет всю иерархию разом — каждый объект, массив и строку — как нативные питоновские структуры задолго до начала какого-либо анализа. Поскольку объекты Python несут существенный оверхед на каждый элемент, документ, компактный как текст, может занять на порядок больше живой памяти. Для любой команды, считавшей размер файла надёжной прокси потребности в RAM, дистанция между 43 МБ и 808 МБ — неприятная поправка.
Ответ разбора — ijson, потоковый парсер. Вместо чтения всего документа в память ijson идёт по нему инкрементально, отдавая по одной записи за раз, чтобы код успевал обработать и отбросить каждый элемент до прихода следующего. Потребление памяти тогда следует за размером единичной записи, а не за размером файла — именно это автор имеет в виду, говоря, что стриминг «изменил всё».
Урок выходит за пределы одного формата файла. Пайплайны, упирающиеся в потолки RAM, часто падают не потому, что данные действительно слишком велики, а потому, что стратегия загрузки настаивает на овеществлении всего объёма одновременно.
Для планировщиков ИИ-инфраструктуры эпизод — тихая, но практичная точка данных. Запас памяти на узлах обучения и препроцессинга дорог, а шаг, раздувший вход в 43 МБ до 808 МБ резидентной памяти, вынуждает брать инстансы крупнее, чем реально требует лежащая под ними нагрузка. Потоковый ингест входит в число самых дешёвых доступных оптимизаций именно потому, что не требует нового железа — только другого пути парсинга.
Теги: ijson · Python · JSON Streaming · Memory Management · Data Engineering
萬安算交所 AIXX · AIXX · Верифицированная биржа · В торговый зал