Skip to main content

A simple athena wrapper leveraging boto3 to execute queries and return results while only requiring a database and a query string.

Project description

pythena

This is a simple python module that will allow you to query athena the same way the AWS Athena console would. It only requires a database name and query string.

Install

pip install pythena

Setup

Be sure to set up your AWS authentication credentials. You can do so by using the aws cli and running

pip install awscli
aws configure

More help on configuring the aws cli here https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html

Usage

import pythena

athena_client = pythena.Athena(database="mydatabase") 

# Returns results as a pandas dataframe
df = athena_client.execute(query="select * from mytable")

print(df.sample(n=2)) # Prints 2 rows from your dataframe

Specify an s3 url to save results to a bucket.

import pythena

athena_client = pythena.Athena(database="mydatabase")

# Returns results as a pandas dataframe
df = athena_client.execute(query="select * from mytable", 
                    s3_output_url="s3://mybucket/mydir")

print(df.sample(n=2)) # Prints 2 rows from your dataframe

Extra Usages

import pythena

pythena.print_databases() # Prints out all databases listed in the glue catalog
pythena.print_databases(region='us-east-1') # Overrides default region


athena_client = pythena.Athena(database="mydatabase", region='us-east-1') # Override default region

athena_client.print_tables('mydatabase') # Prints out all tables in a database

Note

By default, when executing athena queries, via boto3 or the AWS athena console, the results are saved in an s3 bucket. This module by default, assuming a successful execution, will delete the s3 result file to keep s3 clean. If an s3_output_url is provided, then the result file will not be deleted.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pythena-0.3.1.tar.gz (3.6 kB view hashes)

Uploaded Source

Built Distribution

pythena-0.3.1-py3-none-any.whl (9.9 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page