Search documentation...

K
ChangelogBook a demoSign up

Amazon Athena

Overview

Hightouch lets you pull data stored in Amazon Athena and push it to downstream destinations. Connecting Hightouch to Amazon Athena requires some setup in both platforms. In Amazon, you need to make sure the AWS credentials you will use to connect Hightouch has the correct permissions.

You need to allowlist Hightouch's IP addresses to let our systems contact your warehouse. Reference our networking docs to determine which IPs you need to allowlist.

Required permissions

The AWS user that you use to connect to Athena must have the following permissions:

Read and list permissions for Athena resources and execute permissions for Athena queries:

  • ListWorkGroups
  • ListDataCatalogs
  • ListDatabases
  • ListTableMetadata
  • StartQueryExecution
  • GetQueryExecution
  • GetQueryResults
  • GetQueryResultsStream

Read and write permissions for the output location in S3 to both write the results to S3 and read them back:

  • PutObject
  • ListBucket
  • ListBucketMultipartUploads
  • ListMultipartUploadParts
  • GetBucketLocation
  • GetObject
  • AbortMultipartUpload
  • PutObject

See the AWS managed policy AmazonAthenaFullAccess for reference.

If you are using Lake Formation for managing permissions you need to grant database permissions to the AWS user that you use to connect to Athena, otherwise no databases load when configuring the source.

Connection configuration

To get started, go to the Sources overview page and click the Add source button. Select Amazon Athena and follow the steps below.

Configure your credentials

You can either select AWS credentials you've previously configured in Hightouch or choose to add New credentials directly from this page.

The credentials must be for a user who has permission to access Athena and the S3 output location. Refer to the required permissions section for permission details and to the AWS credential configuration docs for credential setup information.

Configure your Amazon Athena source

Enter the following fields into Hightouch:

  • Athena workgroup you previously set up in AWS.
  • (Optional) Query output location—you only need to enter this if your workgroup doesn't have an output location configured. This is an S3 path.
  • Data catalog name
  • Database name

Workgroup and data catalog options populate depending on your AWS credentials. If you don't see the expected values, confirm your AWS credentials and click Refresh. Your database options populate depending on your selected data catalog.

Test your connection

When setting up Amazon Athena as a source for the first time, Hightouch checks that you have the correct permissions. Once the test passes, click Continue to finish setup.

Next steps

Once your source configuration has passed the necessary validation, your source setup is complete. Next, you can set up models to define which data you want to pull from Athena.

The Athena source supports these modeling methods:

Data types

Hightouch parses most Athena data types into JavaScript types before sending them to your destination. Hightouch leaves the following Athena data types as strings:

  • BIGINT
  • ARRAY
  • MAP
  • BINARY
  • STRUCT

Read more about Athena data types in the Athena documentation.

Tips and troubleshooting

To date, our customers haven't experienced any errors while using this source. If you run into any issues, please don't hesitate to . We're here to help.

Ready to get started?

Jump right in or a book a demo. Your first destination is always free.

Book a demoSign upBook a demo

Need help?

Our team is relentlessly focused on your success. Don't hesitate to reach out!

Feature requests?

We'd love to hear your suggestions for integrations and other features.

Last updated: Feb 22, 2024

On this page

OverviewRequired permissionsConnection configurationConfigure your credentialsConfigure your Amazon Athena sourceTest your connectionNext stepsData typesTips and troubleshooting

Was this page helpful?