与从 Athena 查询相比,Pyathena 超级慢

Pyathena is super slow compared to querying from Athena

我 运行 来自 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
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