Оптимизация синтаксического анализа записей из DynamoDB PartiQL, выполнение запросов через PythonPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Оптимизация синтаксического анализа записей из DynamoDB PartiQL, выполнение запросов через Python

Сообщение Anonymous »

Я выполняю запросы PartiQL к своим таблицам DynamoDB с помощью boto3 и хочу иметь возможность анализировать эти записи в табличный формат ( DataFrame).
Вот как выглядит мой код:

Код: Выделить всё

import boto3
from boto3.dynamodb.types import TypeDeserializer
import panads as pd

connection = boto3.client(
'dynamodb',
**config # This contains my credentials
)

result = connection.execute_statement(Statement=query)

records = []
if result['Items']:
# TODO: Can parsing be optimized?
records.extend(parse_records(result['Items']))

while 'LastEvaluatedKey' in result:
result = connection.execute_statement(
Statement=query,
NextToken=result['NextToken']
)
records.extend(parse_records(result['Items']))

df = pd.json_normalize(records)

def parse_records(records: List[Dict]) -> Dict:
"""
Parses the records returned by the PartiQL query execution.

Args:
records (List[Dict]): A list of records returned by the PartiQL query execution.

Returns:
Dict: A dictionary containing the parsed record.
"""
deserializer = TypeDeserializer()

parsed_records = []
for record in records:
parsed_records.append({k: deserializer.deserialize(v) for k,v in record.items()})

return parsed_records
Можно ли мне избежать циклического перебора всех записей для их анализа? Я хочу оптимизировать эту часть программы. Я открыт для других подходов, если у меня есть возможность выполнять запросы PartQL.

Подробнее здесь: https://stackoverflow.com/questions/788 ... via-python
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

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

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»