---
title: Query Amazon Athena
description: Use sql.from() with the awsathena driver to query Athena.
url: https://docs.influxdata.com/flux/v0/query-data/sql/athena/
estimated_tokens: 622
product: Flux
version: v0
publisher: InfluxData
canonical: https://docs.influxdata.com/flux/v0/query-data/sql/athena/
date: '2023-09-12T23:33:31-06:00'
lastmod: '2023-09-12T23:33:31-06:00'
---

To query [Amazon Athena](https://aws.amazon.com/athena) with Flux:

1. Import the [`sql` package](/flux/v0/stdlib/sql/).

2. Use [`sql.from()`](/flux/v0/stdlib/sql/from/) and provide the following parameters:

   * **driverName**: awsathena
   * **dataSourceName**: *See [data source name](#amazon-athena-data-source-name)*
   * **query**: SQL query to execute

```js
import "sql"

sql.from(
    driverName: "awsathena",
    dataSourceName:
        "s3://myorgqueryresults/?accessID=12ab34cd56ef&region=region-name&secretAccessKey=y0urSup3rs3crEtT0k3n",
    query: "GO SELECT * FROM Example.Table",
)
```

## Amazon Athena data source name

The `awsathena` driver uses the following data source name (DSN) syntaxes (also known as a **connection string**):

```
s3://myorgqueryresults/?accessID=AKIAJLO3F...&region=us-west-1&secretAccessKey=NnQ7MUMp9PYZsmD47c%2BSsXGOFsd%2F...
s3://myorgqueryresults/?accessID=AKIAJLO3F...&db=dbname&missingAsDefault=false&missingAsEmptyString=false&region=us-west-1&secretAccessKey=NnQ7MUMp9PYZsmD47c%2BSsXGOFsd%2F...&WGRemoteCreation=false
```

Use the following query parameters in your Athena S3 DSN:

\* Required

* \* **region** - AWS region
* \* **accessID** - AWS IAM access ID
* \* **secretAccessKey** - AWS IAM secret key
* **db** - database name
* **WGRemoteCreation** - controls workgroup and tag creation
* **missingAsDefault** - replace missing data with default values
* **missingAsEmptyString** - replace missing data with empty strings

## Athena to Flux data type conversion

`sql.from()` converts Athena data types to Flux data types.

|           Athena data type            |             Flux data type              |
|---------------------------------------|-----------------------------------------|
|tinyint, smallint, int, integer, bigint|  [int](/flux/v0/data-types/basic/int/)  |
|          float, double, real          |[float](/flux/v0/data-types/basic/float/)|
|       timestamp with time zone        | [time](/flux/v0/data-types/basic/time/) |
|                boolean                | [bool](/flux/v0/data-types/basic/bool/) |

All other Athena data types (including **timestamp**, **date** and **time**)
are converted to strings.

#### Related

* [sql.from() function](/flux/v0/stdlib/sql/from/)
| Athena data type | Flux data type |
| --- | --- |
| Athena data type | Flux data type |
| tinyint, smallint, int, integer, bigint | int |
| float, double, real | float |
| timestamp with time zone | time |
| boolean | bool |
