Оптимизация синтаксического анализа записей из 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

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