Working with Athena Connection
Applies to: Kyvos Enterprise Kyvos Cloud (SaaS on AWS) Kyvos AWS Marketplace
Kyvos Azure Marketplace Kyvos GCP Marketplace Kyvos Single Node Installation (Kyvos SNI)
Kyvos supports Amazon Athena Service to run interactive ad hoc SQL queries against data on Amazon S3, without having to manage any infrastructure or cluster. Athena is an interactive query service that makes it easy to analyze data directly in Amazon S3 using standard SQL. Athena scales automatically, running queries in parallel, so results are fast, even with large datasets and complex queries.
Note
From Kyvos 2024.10 onwards, Athena connection for no-Spark is supported.
You can create multiple Athena connections for raw data querying. The connections are available on the Semantic model designer page, where you can select the connection to be used for a particular semantic model.
See the Working with non-materialized or raw data semantic models section for more details.
Prerequisites
The permissions required to run Athena queries include the following:
Amazon S3 locations where the underlying data to query is stored.
Metadata and resources that you store in the AWS Glue Data Catalog, such as databases and tables
Athena API actions
To set up or view the AthenaSQL connection, perform the following steps.
From the Toolbox, click Setup, then Connections.
From the Actions menu ( ⋮ ) click Add Connection.
Enter a Name or select it from the Connection list.
After you finish configuring the settings using the table shown below, click the Test button from the top left to validate the connection settings.
If the connection is valid, click the Save button.
Post step after creating Athena connection
Note
These following permissions must be attached as without these permissions, Athena will not process semantic model on EKS or K8s cluster.
If an Athena connection is with Shared Query Engine, no permission is needed.
Following set of permissions for Athena must be added on AWS>EKS/K8s cluster> node group IAM role.
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "Statement1",
"Effect": "Allow",
"Action": [
"athena:StartQueryExecution",
"athena:GetQueryResultsStream",
"athena:StopQueryExecution",
"athena:GetQueryExecution",
"athena:GetQueryResults",
"athena:GetDataCatalog",
"athena:ListDataCatalogs",
"athena:ListWorkGroups",
"athena:GetDatabase",
"glue:GetDatabase",
"glue:GetDatabases",
"glue:GetTable",
"glue:GetPartitions",
"glue:GetTables",
"glue:GetUserDefinedFunctions",
"glue:GetSchema",
"athena:ListDatabases",
"athena:ListTableMetadata",
"athena:GetTableMetadata",
"athena:GetNamedQuery",
"athena:ListQueryExecutions",
"athena:ListNamedQueries",
"athena:CreateNamedQuery",
"athena:GetWorkGroup",
"s3:GetBucketLocation",
"s3:GetObject",
"s3:ListBucket"
],
"Resource": [
"*"
]
}
]
}
Copyright Kyvos, Inc. All rights reserved.