Лучший способ отправить данные CSV из AWS S3 на внешний источник (пакетами) - PullRequest
0 голосов
/ 03 августа 2020

Ищем лучший способ отправить данные с AWS S3 на внешний источник. У меня есть файл CSV размером ~ 4 Гб.

На данный момент я пытаюсь создать лямбда-функцию для анализа CSV в пакетном режиме для его отправки, это выглядит так:

import boto3
import pandas as pd
import io

...
s3_client = boto3.client('s3')
obj = s3_client.get_object(Bucket='...)

for chunk in pd.read_csv(io.BytesIO(obj['Body'].read()), encoding='utf8', chunksize=1000000, low_memory=False):
    send_function()
...

Но пока, У меня ошибка:

[ERROR] MemoryError Traceback (последний вызов последним): ...

Похоже, что-то не так в моем коде или CSV-файл тоже large ...

Итак, мой вопрос: это хороший способ реализовать его (как я описал выше) или, может быть, вы можете посоветовать что-нибудь получше, возможно, мне стоит использовать какой-нибудь другой сервис AWS вместо Lambda ?

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