dbt-labs / dbt-labs/dbt

[Feature] Athena adapter for dbt Core 2.0

Open
#16,252 0 comments 0 reactions 0 assignees View on GitHub
adapter:athena area:adapters engine:v2 type:feature
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.