【发布时间】:2020-03-09 08:39:05
【问题描述】:
我想向 AWS 社区提问。
我最近转移到雅典娜,并有以下观察:
使用 pyathena(python 客户端)查询数据比直接在 athena 中查询要花费更多时间。我有一个客户数据数据库,当我在 athena 中执行查询时,获取数据所需的时间不到 60 秒,但是当我在 Pyathena 中执行相同的查询时,完成相同的工作大约需要 40 分钟。
这是我的 python 查询:
cnxn = connect(s3_staging_dir='URL Address for my Athena results',region_name='us-east-2')
sql= ''' SELECT * from some query '''
df= pd.read_sql(sql, cnxn)
有人能帮我理解为什么会这样吗?我做错什么了吗?
谢谢
----已编辑----
我正在 Sagemaker 中运行查询。我正在 Sagemaker 的 Jupyter 环境中执行查询。
【问题讨论】:
-
返回了多少行?从哪里运行查询(例如 EC2 实例或 Internet 上的某处)?当您“在 Athena 中执行查询”时,您是在控制台中执行(仅显示几行)还是通过对 Athena 的 API 调用(返回所有数据)执行此操作?我正在尝试查看延迟是否是由于传输结果而不是实际使用 Athena 造成的。
-
尝试将
limit 10添加到您的查询中 -
@JohnRotenstein 我正在 Sagemaker 中运行查询。我正在 Sagemaker 的 Jupyter 环境中执行查询。
-
如果您暂时将查询更改为只返回几行(例如
LIMIT 10),这会加快速度吗?如果是这样,那么延迟似乎与返回的数据量以及笔记本如何将其加载到内存中有关。
标签: python sql amazon-web-services amazon-redshift amazon-athena