2.8 KiB
2.8 KiB
title | list_title | description | menu | weight | related | list_code_example | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Query Amazon Athena | Amazon Athena | Use [`sql.from()`](/flux/v0/stdlib/sql/from/) with the `awsathena` driver to query Athena. |
|
101 |
|
```js import "sql" sql.from( driverName: "awsathena", dataSourceName: "s3://myorgqueryresults/?accessID=12ab34cd56ef®ion=region-name&secretAccessKey=y0urSup3rs3crEtT0k3n", query: "GO SELECT * FROM Example.Table", ) ``` |
To query Amazon Athena with Flux:
-
Import the
sql
package. -
Use
sql.from()
and provide the following parameters:- driverName: awsathena
- dataSourceName: See data source name
- query: SQL query to execute
import "sql"
sql.from(
driverName: "awsathena",
dataSourceName:
"s3://myorgqueryresults/?accessID=12ab34cd56ef®ion=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...®ion=us-west-1&secretAccessKey=NnQ7MUMp9PYZsmD47c%2BSsXGOFsd%2F...
s3://myorgqueryresults/?accessID=AKIAJLO3F...&db=dbname&missingAsDefault=false&missingAsEmptyString=false®ion=us-west-1&secretAccessKey=NnQ7MUMp9PYZsmD47c%2BSsXGOFsd%2F...&WGRemoteCreation=false
Use the following query parameters in your Athena S3 DSN:
{{< req type="key" >}}
- {{< req "*" >}} region - AWS region
- {{< req "*" >}} accessID - AWS IAM access ID
- {{< req "*" >}} 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 |
float, double, real | float |
timestamp with time zone | time |
boolean | bool |
{{% caption %}} All other Athena data types (including timestamp, date and time) are converted to strings. {{% /caption %}}