Skip to content

firebolt-db/dbt-firebolt

Repository files navigation

Screen Shot 2021-12-10 at 1 09 09 PM

dbt-firebolt

The dbt adapter for Firebolt. dbt-firebolt offers the following benefits to Firebolt customers:

  • SQL-based data transformation
  • Life cycle management for native Firebolt objects (fact tables, dimension tables, primary indexes, aggregating indexes, join indexes, etc.)
  • Declarative, version-controlled data modeling
  • Auto-generated data lineage and documentation

dbt-firebolt supports dbt 1.0+.

Installation

Install the dbt-firebolt package from PyPI:

pip install dbt-firebolt

Setup

Connecting to Firebolt

To connect to Firebolt from dbt, you'll need to add a new Firebolt profile to your profiles.yml file. Please see the dbt documentation on Firebolt profiles to set it up.

Setup Recommendations

For the best experience we recommend that you make the following changes to your dbt project:

Feature Support

The table below shows which dbt and Firebolt features are supported by the adapter. dbt-firebolt is under active development and will be gradually unlocking more features over time.

Feature Supported
Table materializations
Ephemeral materializations
View materializations
Incremental materializations - append
Incremental materializations - insert_overwrite
Incremental materializations - delete+insert
Incremental materializations - merge
Snapshots
Seeds
Tests
Documentation
Custom schemas ❌ (see workaround)
Custom databases
Source freshness
External tables
Primary indexes
Aggregating indexes
Join indexes ❌ (syntax supported, but not effective)

Constraints support

More on constraints in Platform constraint support

Constraint type Support Platform enforcement
not_null ✅ Supported ✅ Enforced
primary_key ❌ Not Supported ❌ Not enforced
foreign_key ❌ Not Supported ❌ Not enforced
unique ✅ Supported ❌ Not enforced
check ❌ Not supported ❌ Not enforced

Using dbt-firebolt

For information on configuring dbt models and external tables for Firebolt, see the dbt documentation for Firebolt configurations.

Contributing

See: CONTRIBUTING.MD

Changelog

See our changelog or our release history for more information.