Проблемы с памятью в Jupyter lab и jupyter nbconvert из CLI, но не внутри интерактивного Python - PullRequest
0 голосов
/ 22 октября 2019

У меня есть файл .ipynb, который запрашивает базу данных MSSQL. Запросы выполняют три оператора SQL, которые считываются в три pandas кадра данных с размерами [56.68, 1870.47, 177.53] Мб, соответственно. Все данные считываются в одном файле *.py. Моя машина работает под управлением Win10 и имеет 32 ГБ доступной оперативной памяти.

Когда я работаю с интерактивными VSCode и Python, я могу импортировать свой модуль без проблем. Запрос базы данных и передача данных занимает некоторое время,> 5 минут (в зависимости от соединения). После чтения всех трех наборов данных VSCode потребляет ~ 6000 МБ ОЗУ. Это отлично. Я также могу запустить ячейку в VSCode из файла .ipynb, который содержит оператор import... без проблем, за исключением времени, которое требуется для запроса / получения данных.

Однако, если я запускаю все ячейки в файле *.ipynb через графический интерфейс Jupyter Lab, я получаю «Ошибка памяти:

Memory error from Jupyter lab gui

Я получаю ту же «ошибку памяти», когда обновляю файл jupyter_notebook_config.py, добавляя в него строку c.NotebookApp.max_buffer_size = 250000000000, обновляющую то, что я думал, было выделение памяти для Jupyter с ~ .5Mb до 25Gb.

Аналогично, когда я пытаюсь преобразовать файл из CLI с помощью jupyter nbconvert --execute --ExecutePreprocessor.timeout=-1 [ipynb] (мой предпочтительный рабочий процесс), я получаю еще один странно отформатированный «MemoryError», который при ближайшем рассмотрении выглядит идентично ошибке, которую я получаю из графического интерфейса Jupyter Lab:

Memory error from Jupyter nbconvert...

Что здесь происходит? Почему я могу читать файлы данных через Python Interactive без проблем, но когда я пытаюсь прочитать их черезJupyter GUI или выполнить их через nbconvert, что-то не так? Я бы ожидал, что все, что запускается в терминале Python или в Python Interactive, будет идентичным Jupyter или через nbconvert. Очевидно, я ошибаюсь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...