You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在使用awswrangler时指定Athena查询结果的存储位置

可以指定自定义S3存储位置

当然可以,你只需要利用 awswrangler.athena.read_sql_query 提供的 s3_output 参数,就能指定自定义的S3存储位置,替代默认自动生成的桶。

修改后的代码示例

import awswrangler as wr

db_name = "test_db"
table_name = "test_table"
query = f"SELECT * FROM {db_name}.{table_name}"

# 替换成你自己的S3路径,格式为 s3://<桶名>/<前缀目录>/
custom_s3_output_path = "s3://your-custom-bucket/athena-query-results/"

df = wr.athena.read_sql_query(
    sql=query,
    database=db_name,
    s3_output=custom_s3_output_path
)

关键注意点

  • 确保你的AWS本地凭证对指定的S3路径拥有读写权限:至少需要 s3:PutObject(写入查询结果)和 s3:GetObject(将结果加载到DataFrame)权限。
  • 如果指定的S3桶还不存在,你可以提前手动创建,或者确保凭证拥有 s3:CreateBucket 权限,awswrangler会自动帮你创建桶。
  • 建议在路径末尾加上斜杠,避免生成的对象路径出现不必要的拼接错误。

内容的提问来源于stack exchange,提问作者d.b

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 18:36:23