By using AWS re:Post, you agree to the Terms of Use

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.

1 Answer
1
Accepted Answer

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.

answered 3 months ago
  • 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.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions