我可以从存储在 S3 中的 sql 文件运行 Athena 查询吗

Posted

技术标签:

【中文标题】我可以从存储在 S3 中的 sql 文件运行 Athena 查询吗【英文标题】:Can I run Athena query from sql file stored in S3 【发布时间】:2020-04-28 07:49:17 【问题描述】:

我有一个 .sql 文件,其中包含 Athena 查询。

有没有办法让 Athena 运行保存在 s3://my-bucket/path/to/queries.sql 中的 sql 查询?

mysql 中可以做这样的事情(基于 SO answer),但好奇是否可能在 Athena 中

mysql> source \home\user\Desktop\test.sql;

【问题讨论】:

【参考方案1】:

有没有办法告诉 Athena 运行保存在 s3://my-bucket/path/to/queries.sql 中的 sql 查询?

我认为没有直接的方法可以告诉Athena 运行存储在S3 中的查询。

在 MySQL 中可以做这样的事情(基于 SO 答案),但如果可能的话在 Athena 中很好奇。

如果你真的想这样做,那么是的,你应该能够使用AWS CLI 运行查询。 你的步骤应该是这样的。

    使用 CLI 从 S3 获取查询并存储在临时变量中 将存储在临时变量中的查询传递给Athena 查询CLI

希望这会有所帮助。

【讨论】:

以上是关于我可以从存储在 S3 中的 sql 文件运行 Athena 查询吗的主要内容,如果未能解决你的问题,请参考以下文章

从 pyspark 访问 S3 存储桶中的文件

从同一存储桶中另一个子文件夹中的 s3 子文件夹中复制文件

将文件从 Mac (iCloud) 保存到 S3 存储桶 (AWS) 的脚本

为啥在 S3 存储桶中加载 CSV 文件的任务很多?

从 boto3 检索 S3 存储桶中的子文件夹名称

定期将查询结果从 Redshift 移动到 S3 存储桶