How to set up Firebolt with dbt Developer Hub

Install dbt-firebolt adapter & configure profiles.yml with credentials to connect Firebolt data warehouse. Optionally create seed tables & define external tables in dbt_project.yml.
Published
May 10, 2024
Author

How to Install the Adapter Using Pip for Firebolt Setup?

In order to set up Firebolt with dbt Developer Hub, the first step is to install the adapter. This can be done using pip, which is a package installer for Python. It's a necessary step as the adapter allows dbt to communicate with your Firebolt data warehouse.

pip install dbt-firebolt

The above command installs the dbt-firebolt adapter. This command should be run in your terminal.

  • Adapter: A software that allows two different systems to work together. In this case, it allows dbt to work with Firebolt.
  • Pip: A package installer for Python.
  • Terminal: A command-line interface where you can type and execute text based commands.

How to Add a Profile Called "Firebolt" to the Profiles.yml File?

After installing the adapter, the next step is to add a profile called "firebolt" to the profiles.yml file. This file is used by dbt to define your connection to the database.

firebolt:
target: dev
outputs:
dev:
type: firebolt
user: <username>
password: <password>
engine_name: <engine-name>
database: <database-name>

The above code is an example of how to add a "firebolt" profile to the profiles.yml file. Replace the placeholders with your actual Firebolt credentials.

  • Profiles.yml: A file used by dbt to define your connection to the database.
  • Firebolt: A high-speed cloud-native analytical database.

How to Add Credentials for the Data Warehouse?

Adding credentials for the data warehouse is a crucial step in setting up Firebolt with dbt Developer Hub. These credentials are used to authenticate your connection to the database.

outputs:
dev:
type: firebolt
user: <username>
password: <password>
engine_name: <engine-name>
database: <database-name>

The above code is an example of how to add credentials for the data warehouse in the profiles.yml file. Replace the placeholders with your actual Firebolt credentials.

  • Credentials: Information used to authenticate a user's identity, such as a username and password.
  • Data Warehouse: A large store of data collected from a wide range of sources used to guide business decisions.

How to Create a Seed Table in dbt?

Creating a seed table is a good practice when using dbt. A seed table is a table that is loaded with static data, like a list of country codes, countries, and country regions.

dbt seed --show

The above command is used to load the seed data into your database. It should be run in your terminal.

  • Seed Table: A table that is loaded with static data.
  • Static Data: Data that does not change after being recorded.

How to Define a Table as External in the dbt_project.yml File?

To use external tables in dbt, you need to define a table as external in the dbt_project.yml file. An external table is a table that references data stored in an external storage system.

models:
my_project:
my_external_table:
+external:
url: 's3://my-bucket/my-data/*'
type: 'parquet'
object_pattern: '*.parquet'

The above code is an example of how to define a table as external in the dbt_project.yml file. Replace the placeholders with your actual data.

  • External Table: A table that references data stored in an external storage system.
  • dbt_project.yml: A file used by dbt to define your project configuration.

Keep reading

See all