Лямбда не хватает памяти с панда данных - PullRequest
0 голосов
/ 17 января 2019

Я пытаюсь преобразовать файл JSON в CSV, используя Lambda. Я использую Панды для этой операции. Первоначально я начал со следующей конфигурации:

Размер файла: 5 МБ
Память: 128

Мне потребовалось около 5 секунд, чтобы завершить преобразование.

Затем я увеличил размер файла до 10 МБ, но это странное поведение. Было бы здорово, если бы кто-то мог помочь мне понять это. В основном я пытаюсь сравнить эту операцию Иногда файл успешно обрабатывается, а иногда таймаут с сообщением

REPORT RequestId: 28e55591-e6a7-4344-b5bc-321bd03422b6 Duration: 900089.03 ms Billed Duration: 900000 ms Memory Size: 128 MB Max Memory Used: 129 MB 

Хорошо видно, что это проблема с памятью, но я не могу понять причину. Было бы здорово, если бы кто-то мог помочь мне понять это поведение.

Иногда бывает так, что лямбда запускается заново, а затем файл обрабатывается.

1 Ответ

0 голосов
/ 17 января 2019

Это из-за того, что вы используете фрейм данных Panda. Он использует намного больше памяти для хранения CSV, чем размер самого файла. df.info(memory_usage='deep').

вы можете проверить, сколько памяти требуется фрейму данных.

Если вам просто нужно конвертировать csv в json, лучше использовать модули stdlib csv и json и кодировать их самостоятельно.

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