Быстрая обработка json с использованием Python3.x от s3 - PullRequest
0 голосов
/ 01 марта 2019

У меня есть файлы json на s3, например:

{'key1':value1, 'key2':'value2'}{'key1':value1, 'key2':'value2'}{'key1':value1, 'key2':'value2'}
{'key1':value1, 'key2':'value2'}{'key1':value1, 'key2':'value2'}{'key1':value1, 'key2':'value2'}

Структура не массив, объединенные jsons без каких-либо символов новой строки.Есть тысячи файлов, из которых мне нужно только пару полей.Как я могу быстро их обработать?

Я буду использовать это в AWS Lambda.Код, о котором я думаю, выглядит примерно так:

data_chunk = data_file.read()
recs = data_chunk.split('}')
json_recs = []
# This part onwards it becomes inefficient where I have to iterate every record
for rec in recs:
    json_recs.append(json.loads(rec + '}'))
    # Extract Individual fields

Как это можно улучшить?Поможет ли использование данных Pandas?Отдельные файлы имеют небольшой размер около 128 МБ.

1 Ответ

0 голосов
/ 01 марта 2019

S3 Select поддерживает эту структуру JSON Lines .Вы можете запросить его с помощью SQL-подобного языка .Это быстро и дешево.

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