From 74def0a776ab8db96890014bbb806cf2bb1f3226 Mon Sep 17 00:00:00 2001 From: Harsh Mishra Date: Tue, 5 Sep 2023 13:17:30 +0530 Subject: [PATCH] enhance docs for athena (#789) --- .../aws/athena/athena-resource-browser.png | Bin 0 -> 138992 bytes content/en/user-guide/aws/athena/index.md | 169 ++++++++++++------ 2 files changed, 115 insertions(+), 54 deletions(-) create mode 100644 content/en/user-guide/aws/athena/athena-resource-browser.png diff --git a/content/en/user-guide/aws/athena/athena-resource-browser.png b/content/en/user-guide/aws/athena/athena-resource-browser.png new file mode 100644 index 0000000000000000000000000000000000000000..de18024def10575c39f0a8da863610c332998b8f GIT binary patch literal 138992 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 - Get started with AWS Athena on LocalStack -aliases: - - /aws/athena/ +description: Get started with Athena on LocalStack --- -LocalStack Pro ships with built-in support for [Athena](https://aws.amazon.com/athena), Amazon's serverless data warehouse and analytics platform. -Athena uses [Presto](https://prestodb.github.io)/[Trino](https://trino.io) under the covers, and your Athena instance will be automatically configured with a Hive metastore that connects seamlessly to the LocalStack S3 API. -That is, you can easily connect your local S3 buckets and query data directly from S3 via the powerful Athena query API. +Athena is an interactive query service provided by Amazon Web Services (AWS) that enables you to analyze data stored in S3 using standard SQL queries. +Athena allows users to create ad-hoc queries to perform data analysis, filter, aggregate, and join datasets stored in S3. +It supports various file formats, such as JSON, Parquet, and CSV, making it compatible with a wide range of data sources. -## Basic Query Execution +LocalStack supports Athena via the Pro/Team offering, allowing you to configure the Athena APIs with a Hive metastore that can connect to the S3 API and query your data directly in your local environment. +The supported APIs are available on our [API coverage page](https://docs.localstack.cloud/references/coverage/coverage_athena/), which provides information on the extent of Athena's integration with LocalStack. -The following commands illustrate how to use Athena from the command line (assuming you have [`awslocal`](https://github.com/localstack/awscli-local) installed): +## Getting started + +This guide is designed for users new to Athena and assumes basic knowledge of the AWS CLI and our [`awslocal`](https://github.com/localstack/awscli-local) wrapper script. + +Start your LocalStack container using your preferred method. +We will demonstrate how to create an Athena table and run a query against it in addition to reading the results with the AWS CLI. + +{{< alert title="Note" >}} +To utilize the Athena API, LocalStack will download additional dependencies. +This involves getting a Docker image of around 1.5GB, containing Presto, Hive, and other tools. +These components are retrieved automatically when you initiate the service. +To ensure a smooth initial setup, ensure you're connected to a stable internet connection while fetching these components for the first time. +{{< /alert >}} + +### Create an S3 bucket + +You can create an S3 bucket using the [`mb`](https://docs.aws.amazon.com/cli/latest/reference/s3/mb.html) command. +Run the following command to create a bucket named `athena-bucket`: {{< command >}} -$ awslocal athena start-query-execution --query-string 'SELECT 1, 2, 3' -{ - "QueryExecutionId": "c9f453ad" -} -$ awslocal athena list-query-executions -{ - "QueryExecutionIds": [ - "c9f453ad" - ] -} -$ awslocal athena get-query-results --query-execution-id c9f453ad +$ awslocal s3 mb s3://athena-bucket +{{< / command >}} + +You can create some sample data using the following commands: + +{{< command >}} +$ echo "Name,Service" > data.csv +$ echo "LocalStack,Athena" >> data.csv +{{< / command >}} + +You can upload the data to your bucket using the [`cp`](https://docs.aws.amazon.com/cli/latest/reference/s3/cp.html) command: + +{{< command >}} +$ awslocal s3 cp data.csv s3://athena-bucket/data/ +{{< / command >}} + +### Create an Athena table + +You can create an Athena table using the [`CreateTable`](https://docs.aws.amazon.com/athena/latest/APIReference/API_CreateTable.html) API +Run the following command to create a table named `athena_table`: + +{{< command >}} +$ awslocal athena start-query-execution \ + --query-string "create external table tbl01 (name STRING, surname STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION 's3://athena-bucket/data/';" --result-configuration "OutputLocation=s3://athena-bucket/output/" +{{< / command >}} + +The following output would be retrieved: + +```bash { - "ResultSet": { - "Rows": [ - { - "Data": [ - { "VarCharValue": "_col0" }, - { "VarCharValue": "_col1" }, - { "VarCharValue": "_col2" } - ] - }, { - "Data": [ - { "VarCharValue": "1" }, - { "VarCharValue": "2" }, - { "VarCharValue": "3" } - ] - } - ], - "ResultSetMetadata": { - "ColumnInfo": [ - { - "Name": "_col0", "Type": "integer" - }, { - "Name": "_col1", "Type": "integer" - }, { - "Name": "_col2", "Type": "integer" - } - ] - } - }, - "UpdateCount": 0 + "QueryExecutionId": "593acab7" } +``` + +You can retrieve information about the query execution using the [`GetQueryExecution`](https://docs.aws.amazon.com/athena/latest/APIReference/API_GetQueryExecution.html) API. +Run the following command: + +{{< command >}} +$ awslocal athena get-query-execution --query-execution-id 593acab7 {{< / command >}} -{{< alert title="Note" >}} -In order to use the Athena API, some additional dependencies have to be fetched from the network (including Presto, Hive, and other tools). These dependencies are automatically fetched when you start up the service, so please make sure you're on a decent internet connection when using Athena for the first time. -{{< /alert >}} +Replace `593acab7` with the `QueryExecutionId` returned by the [`StartQueryExecution`](https://docs.aws.amazon.com/athena/latest/APIReference/API_StartQueryExecution.html) API. + +### Get output of the query + +You can get the output of the query using the [`GetQueryResults`](https://docs.aws.amazon.com/athena/latest/APIReference/API_GetQueryResults.html) API. +Run the following command: + +{{< command >}} +$ awslocal athena get-query-results --query-execution-id 593acab7 +{{< / command >}} + +You can now read the data from the `tbl01` table and retrieve the data from S3 that was mentioned in your table creation statement. +Run the following command: + +{{< command >}} +$ awslocal athena start-query-execution \ + --query-string "select * from tbl01;" --result-configuration "OutputLocation=s3://athena-bucket/output/" +{{< / command >}} + +You can retrieve the execution details similarly using the [`GetQueryExecution`](https://docs.aws.amazon.com/athena/latest/APIReference/API_GetQueryExecution.html) API using the `QueryExecutionId` returned by the previous step. + +You can copy the `ResultConfiguration` from the output and use it to retrieve the results of the query. +Run the following command: + +{{< command >}} +$ awslocal cp s3://athena-bucket/output/593acab7.csv . +$ cat 593acab7.csv +{{< / command >}} + +Replace `593acab7.csv` with the path to the file that was present in the `ResultConfiguration` of the previous step. +You can also use the [`GetQueryResults`](https://docs.aws.amazon.com/athena/latest/APIReference/API_GetQueryResults.html) API to retrieve the results of the query. ## Delta Lake Tables @@ -95,7 +134,8 @@ $ awslocal athena start-query-execution \ LOCATION 's3://test/' TBLPROPERTIES ('table_type'='DELTA')" {{< / command >}} -Please note that this query may take some time to finish executing. You can observe the output in the LocalStack container (ideally with `DEBUG=1` enabled) to follow the steps of the query execution. +Please note that this query may take some time to finish executing. +You can observe the output in the LocalStack container (ideally with `DEBUG=1` enabled) to follow the steps of the query execution. Finally, we can now run a `SELECT` query to extract data from the Delta Lake table we've just created: {{< command >}} @@ -138,3 +178,24 @@ The `SELECT` statement above currently requires us to prefix the database/table ## Iceberg Tables The LocalStack Athena implementation also supports [Iceberg tables](https://docs.aws.amazon.com/athena/latest/ug/querying-iceberg-creating-tables.html) - more details and samples will be provided here soon. + +## Resource Browser + +The LocalStack Web Application provides a Resource Browser for Athena query execution, writing SQL queries, and visualizing query results. +You can access the Resource Browser by opening the LocalStack Web Application in your browser, navigating to the **Resources** section, and then clicking on **Athena** under the **Analytics** section. + +Athena Resource Browser + +The Resource Browser allows you to perform the following actions: + +- **View Databases**: View the databases available in your Athena instance by clicking on the **Databases** tab. +- **View Catalogs**: View the catalogs available in your Athena instance by clicking on the **Catalogs** tab. +- **Edit Catalogs**: Edit the catalogs available in your Athena instance by clicking on the **Catalog name**, editing the catalog, and then clicking on the **Submit** button. +- **Create Catalogs**: Create a new catalog by clicking on the **Create Catalog** button, entering the catalog details, and then clicking on the **Submit** button. +- **Run SQL Queries**: Run SQL queries by clicking on the **SQL** button, entering the query, and then clicking on the **Execute** button. + +## Examples + +The following code snippets and sample applications provide practical examples of how to use Athena in LocalStack for various use cases: + +- [Query data in S3 Bucket with Amazon Athena, Glue Catalog & CloudFormation](https://github.com/localstack/query-data-s3-athena-glue-sample)