#python #amazon-web-services #amazon-athena #amazon-sagemaker #pyathena
#python #amazon-веб-сервисы #amazon-athena #amazon-sagemaker #pyathena
Вопрос:
Я запускаю запрос из консоли AWS Athena и занимаю 10 секунд. Тот же запрос, выполняемый из Sagemaker с использованием PyAthena, занимает 155 секунд. PyAthena замедляет его или передача данных из Athena в sagemaker занимает так много времени?
Что я могу сделать, чтобы ускорить это?
Ответ №1:
Просто найдите способ увеличить запросы:
Прежде чем я пытался:
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
Комментарии:
1. Похоже, что комментарии по времени меняются местами. Верхняя часть должна занимать больше времени, т.Е. 160 секунд, а нижняя — 12 секунд.
2. это
pyathena.pandas.cursor
и нетpyathena.pandas_underscore_cursor
. Я понимаю, что это просто небольшая опечатка, но она может сэкономить некоторые потенциальные поиски на этом пути 🙂 @room13 @trudolf3. вы правы @RameshK к сожалению, я не могу это исправить. в нем говорится, что изменения должны содержать не менее 6 символов ^^