问题描述
我从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