0

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

我能做些什么来加快速度?

4

1 回答 1

7

只需找出一种增强查询的方法:

在我尝试之前:

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而不是连接会更快

import pandas as pd
pyathena import connect
from pyathena.pandas.cursor import PandasCursor

cursor = connect(s3_staging_dir=STAGIN_DIR,
                 region_name=REGION,
                 cursor_class=PandasCursor).cursor()
df = cursor.execute(QUERY).as_pandas()
# takes 12s

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

于 2020-10-02T11:48:43.903 回答