与从雅典娜查询相比,Pyathena超级慢

问题描述

我从AWS Athena控制台运行查询,耗时10秒。 使用 PyAthena Sagemaker 运行相同的查询需要155秒。 PyAthena会减慢速度还是从Athena到Sagemaker的数据传输如此耗时?

该如何加快速度?

解决方法

只需找出提高查询量的方法:

在尝试之前:

import pandas as pd
from pyathena import connect
conn = connect(s3_staging_dir=STAGIN_DIR,region_name=REGION)
pd.read_sql(QUERY,conn)
# takes 160s

发现使用 PandasCursor 代替 connection 会更快

import pandas as pd
pyathena import connect
cursor = connect(s3_staging_dir=STAGIN_DIR,region_name=REGION).cursor()
df = cursor.execute(QUERY).as_pandas()
# takes 12s

参考:https://github.com/laughingman7743/PyAthena/issues/46