AWS Athena在Python中的异步分页

问题描述 投票:1回答:1

我正在为我的Python应用程序创建一个Athena连接器,但如果我使用通常的同步分页,那么大的结果需要很长时间才能处理。因此,我很好奇是否有通过Boto客户端提供异步分页或其他一些优化执行大型查询结果的解决方案。

pagination amazon-athena
1个回答
0
投票

我发现从S3结果桶中检索查询结果文件要高得多,然后(对于我的用例)将CSV转换为Pandas数据帧而不是使用boto3分页器。

from boto3.session import Session
import pandas #you will have to pip install s3fs

ACCESS_KEY='your access key'
SECRET_KEY='your secret key'

session = Session(aws_access_key_id=ACCESS_KEY,
                  aws_secret_access_key=SECRET_KEY)

s3 = session.resource('s3')

bucket = 'your results bucket'
key = queryExecutionId + '.csv' #the query execution id from the response

obj = s3.Object(bucket, key) 

obj = obj.get()

frame = pandas.read_csv(obj['Body'])
© www.soinside.com 2019 - 2024. All rights reserved.