When querying athena using aws sdk, is it necessary to save results in s3?

1

I tried to do a select query on Athena using aws sdk.

In the sample, using resultconfiguration, it was stored in s3 and then queried.

However, it seems that the console showed the select result without saving the query result.

So I skipped resultconfiguration and ran aws sdk, and the following error occurred.

An output location is required either through the Workgroup result configuration setting or as an API input.

So I think that to query athena from aws sdk, the result must be saved in s3. Is this correct?

If not, please tell me how should I configure the aws sdk.

joker
已提問 2 年前檢視次數 388 次
1 個回答
1
已接受的答案

Hello,

Amazon Athena automatically stores query results and metadata information for each query that runs in a query result location that you can specify in Amazon S3.

If necessary, you can access the files in this location to work with them. You can also download query result files directly from the Athena console.

To determine the location that Athena will use you need a combination of a workgroup and client-side settings.

The client-side settings are based on how you run the query:

If you run the query using the Athena console, the Query result location entered under Settings in the navigation bar determines the client-side setting.

If you run the query using the Athena API, the OutputLocation parameter of the StartQueryExecution action determines the client-side setting.

If you use the ODBC or JDBC drivers to run queries, the S3OutputLocation property specified in the connection URL determines the client-side setting.

To use the AWS CLI to identify the query output location and result files, run the aws athena get-query-execution command, as in the following example.

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

Note: When you run a query using the API or using the ODBC or JDBC driver, the console setting does not apply.

For more detailed information, refer to Finding Query Output Files in S3.

I hope this helps.

Lunga T
已回答 2 年前
  • Does it work even if I don't specify the OutputLocation parameter in StartQueryExecution? It doesn't work in my case, so I'm wondering if I need to save the result to s3 when using the api.

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南