Certain core functionality may vary. If you would like to report a bug, request a feature, or contribute, you can check out the linked repository and open an issue.
Overview of dbt-materialize
Installation and distribution
dbt-materialize adapter is managed in the core Materialize repository. To get started, install
pip (and optionally a virtual environment):
python3 -m venv dbt-venv # create the virtual environment
source dbt-venv/bin/activate # activate the virtual environment
pip install dbt-materialize # install the adapter
To check that the adapter was successfully installed, run:
You should see
materialize listed under “Plugins”. If this is not the case, double-check that the virtual environment is activated!
Connecting to Materialize
Once you have Materialize installed and running, adapt your
profiles.yml to connect to your instance using the following reference profile configuration:
schema: [name of your dbt schema]
To test the connection to Materialize, run:
If the output reads "All checks passed!", you’re good to go! Check the dbt and Materialize guide to learn more and get started.
Because Materialize is optimized for transformations on streaming data and the core of dbt is built around batch, the
dbt-materialize adapter implements a few custom materialization types:
|YES||Creates a source.|
|YES||Creates a view.|
|YES||Creates a materialized view.|
|YES||Creates a materialized view. (Actual table support pending #5266)|
|YES||(Deprecated) Creates an index. Use the |
|YES||Creates a sink.|
|YES||Executes queries using CTEs.|
|NO||Use the |
dbt seed will create a static materialized view from a CSV file. You will not be able to add to or update this view after it has been created. If you want to rerun
dbt seed, you must first drop existing views manually with
dbt test with the optional
--store-failures flag or
store_failures config will create a materialized view for each test you've chosen to store. This view is a continuously updating representation of failures.