[Feature] Athena adapter for dbt Core 2.0
- Dominant language
- Rust
- Stars
- 13.8k
- Forks
- 2.6k
- Avg merge
- 21h 31m
- Merged PRs (30d)
- 56
Description
### Is this your first time submitting a feature request?
- [x] I have read the expectations for open source contributors
- [x] I have searched the existing issues, and I could not find an existing issue for this feature
- [x] I am requesting a straightforward extension of existing dbt functionality, rather than a Big Idea better suited to a discussion
### Which version of dbt is this feature for?
dbt Core 2.0 (`2.0.0rc2`)
### Describe the feature
Make Amazon Athena a supported adapter of the 2.0 engine, so that projects running today on `dbt-athena` (dbt Core 1.x) can move to v2.
State in this repository at `main` (`5d58b4180`, 2026-09-08):
- `type: athena` in `profiles.yml` is rejected at parse time, with or without `DBT_ALLOW_EXPERIMENTAL_ADAPTERS=true`:
`[InvalidConfig (dbt1005)]: Failed to parse profiles.yml: unknown variant 'athena', expected one of 'redshift', 'snowflake', 'postgres', 'bigquery', 'trino', 'datafusion', 'spark', 'databricks', 'salesforce', 'duckdb', 'lakecompute', 'exasol', 'fabric', 'clickhouse'`
- Already in place: `AdapterType::Athena` (`crates/dbt-adapter-core/src/lib.rs:75`, quoting `"` at `:123`), `Backend::Athena` in `crates/dbt-adapter/src/adapter/adapter_factory.rs:47`, the ADBC option keys for the `dbt-labs/athena` Go driver in `crates/dbt-adbc/src/athena.rs`, and `AthenaAuth` (`iam`, `access_key`, `profile`) in `crates/dbt-auth/src/athena/mod.rs`.
- Still `todo!("Athena")`: `crates/dbt-adapter/src/adapter/adapter_impl.rs:319`, `crates/dbt-adapter/src/relation/factory.rs:28`, `crates/dbt-adapter/src/column/column_builder.rs:37` and `:124`, `crates/dbt-adapter/src/sql_types.rs:565`, `crates/dbt-init/src/profile_setup.rs:413`.
- Missing: the `DbConfig` variant (`// Athena,` in `crates/dbt-schemas/src/schemas/profiles.rs:65`, listed under "Adapter types with no `DbConfig` variant" at `:272`) and a `dbt-athena` macro package under `crates/dbt-loader/src/dbt_macro_assets/` (the other supported adapters have one).
### Describe alternatives you've considered
- Staying on dbt Core 1.x with `dbt-athena` from `dbt-labs/dbt-adapters`. Works, but keeps Athena projects out of the v2 engine.
- `DBT_ALLOW_EXPERIMENTAL_ADAPTERS=true`: does not apply, `athena` is not a known profile type.
### Who will this benefit?
Teams running dbt on Athena and Glue through `dbt-athena`.
### Are you interested in contributing this feature?
Yes. Since the driver and the auth module are yours, I would first like to know whether Athena is already scheduled. If it is not, I can contribute following the "Contribute a dbt Core 2.0 adapter" guide, in the same incremental shape as the ClickHouse series (profile schema, core wiring, macro package, metadata adapter, record/replay tests), starting with the `DbConfig` variant and the `todo!` arms so that the profile loads and `dbt debug` / `dbt ls` work.
### Anything else?
From the orchestration side: astronomer/astronomer-cosmos#2993 tracks running dbt Core 2.0 through Cosmos; Athena is the adapter that keeps the projects I run on 1.x.
Contributor guide
Assessment
This issue has not been assessed yet.