Warning: this adapter still has rough edges.
This plugin can be installed via pip:
$ pip install git+https://github.com/Dandandan/dbt-athena.git
A dbt profile can be configured to run against Presto using the following configuration:
Option | Description | Required? | Example |
---|---|---|---|
s3_staging_dir | The location where Athena stores meta info | Required | s3://bucket/staging |
database | Specify the database to build models into | Required | awscatalog |
schema | Specify the schema to build models into | Required | dbt_drew |
region_name | Specify in which AWS region it should connect | Required | eu-west-1 |
threads | How many threads dbt should use | Optional(default=1 ) |
8 |
max_retry_number | Number for retries for exponential backoff | Optional(default=5 ) |
8 |
max_retry_delay | Maximum delay for exponential backoff in seconds | Optional(default=100 ) |
8 |
Example profiles.yml entry:
my-athena-db:
target: awscatalog
outputs:
awscatalog:
type: athena
database: awscatalog
schema: dbt_dbanin
region_name: eu-west-1
threads: 8
Due to the nature of Athena, not all core dbt functionality is supported. The following features of dbt are not implemented on Presto:
- Archival
- Incremental models
If you are interested in helping to add support for this functionality in dbt on Presto, please open an issue!
Known issues:
- Quoting is not supported
Everyone interacting in the dbt project's codebases, issue trackers, chat rooms, and mailing lists is expected to follow the PyPA Code of Conduct.