在使用AWS SDK查询Athena时,是否必须将结果保存在S3中?

0

【以下的问题经过翻译处理】 我尝试使用aws sdk在Athena上执行选择查询。

在示例中,使用resultconfiguration将结果存储在s3中,然后进行查询。

然而,似乎控制台在不保存查询结果的情况下显示了选择结果。

因此,我跳过了resultconfiguration并运行了aws sdk,然后出现了以下错误。

必须通过工作组结果配置设置或作为API输入指定输出位置。

因此,我认为要查询来自aws sdk的athena,必须在s3中保存结果。这是正确的吗?

如果不是,请告诉我如何配置aws sdk。

profile picture
专家
已提问 6 个月前19 查看次数
1 回答
0

【以下的回答经过翻译处理】 你好,

Amazon Athena会自动将每个查询的结果和元数据信息存储在查询结果位置中,您可以在Amazon S3中指定该位置。

如果需要,您可以访问该位置中的文件进行操作。您也可以直接从Athena控制台下载查询结果文件。

要确定Athena将使用的位置,您需要结合工作组和客户端设置。

客户端设置基于您运行查询的方式:

如果您使用Athena控制台运行查询,导航栏下的设置中输入的查询结果位置确定了客户端设置。

如果您使用Athena API运行查询,则StartQueryExecution操作的OutputLocation参数确定了客户端设置。

如果您使用ODBC或JDBC驱动程序运行查询,则连接URL中指定的S3OutputLocation属性确定了客户端设置。

要使用AWS CLI识别查询输出位置和结果文件,请运行aws athena get-query-execution命令,例如以下示例:

aws athena get-query-execution --query-execution-id <your-query-id>

**注意:**当您使用API或使用ODBC或JDBC驱动程序运行查询时,控制台设置不适用。

如需更详细的信息,请参阅在S3中查找查询输出文件

我希望这可以帮助到你。

profile picture
专家
已回答 6 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则