dbt-databricks

The official dbt adapter for running transformations on the Databricks Lakehouse.

SDK
PyPI
v1.12.4
374stars
Apache License 2.0

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum.How we score it →
93/100Excellent
Development Activity100
Maintenance100
Community88
Maturity56
Momentum28

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation.How we score it →
80/100Excellent
Architecture85
Code Quality86
Innovation76
Learning Curve74

dbt-databricks is the official dbt adapter that connects dbt Core to the Databricks Lakehouse Platform. Built on the foundation of dbt-spark, it contains the connection management, credential handling, and materialization logic dbt needs to compile and run models, tests, snapshots, and seeds against Databricks SQL warehouses and clusters.

Maintained by Databricks, it adds Databricks-native capabilities such as Unity Catalog support, Delta Lake materializations, and authentication through the Databricks SDK and SQL connector. Installing it alongside dbt Core is all that is required to run an analytics-engineering project on Databricks.

What You Get

  • A dbt adapter that targets the Databricks Lakehouse as the execution engine for dbt models
  • Databricks connection and authentication via the Databricks SDK and SQL connector
  • Unity Catalog support for three-level namespaces and governance
  • Delta Lake materializations including incremental and merge strategies
  • Integration with the standard dbt Core CLI workflow (run, test, build, snapshot)

Common Use Cases

  • Running a dbt analytics-engineering project against Databricks SQL warehouses or clusters
  • Building Delta Lake incremental and merge transformations with dbt
  • Managing Databricks credentials and Unity Catalog targets through dbt profiles

Under The Hood

Architecture - The adapter lives under dbt/adapters/databricks/. connections.py and handle.py manage Databricks SQL/cluster connections, credentials.py handles the token/OAuth authentication flows, relation.py and parse_model.py map dbt relations onto Unity Catalog’s three-level namespace, and logging.py/global_state.py provide cross-cutting infrastructure. It extends the dbt-spark adapter, inheriting Spark SQL behavior and layering Databricks-specific Delta and catalog logic on top.

Tech Stack - Python packaged with Hatch. Key runtime dependencies include databricks-sql-connector and databricks-sdk for connectivity, dbt-spark, dbt-adapters, dbt-common, and dbt-core for the plugin contract, plus keyring, pydantic, and click.

Code Quality - The repository runs both unit and integration test workflows in CI (advertised via README badges) and maintains an extensive tests/ tree alongside a detailed changelog. Being Databricks-maintained, it is very actively developed with a strong maintenance cadence, reflected in its high repo-health score.

API Design - Users configure Databricks through dbt YAML profiles rather than the Python API, specifying host, HTTP path, and auth. Because it follows the standard dbt adapter contract and extends dbt-spark, the experience is familiar to existing dbt users, with Unity Catalog and Delta features exposed through model configs.

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers

Search