The Materialize adapter plugin for dbt (data build tool)
Project description
dbt-materialize
dbt adapter for Materialize.
Note, this plugin is a work in progress, and not yet suitable for production.
Installation
Once this repo is cloned locally, it can be installed via pip:
git clone https://github.com/MaterializeInc/materialize
pip install materialize/dbt-materialize
Configuring your profile
Materialize is based on the Postgres database protocols, so use the
dbt postgres settings in your connection profile,
only substituting type: materialize
for type: postgres
. Sample profiles can be found in
sample_profiles.yml.
Supported Features
Materializations
Type | Supported? | Details |
---|---|---|
view | :white_check_mark: | Creates a view. |
materializedview | :white_check_mark: | Creates a materialized view. |
table | :white_check_mark: | Creates a materialized view. (Actual table support pending #5266) |
ephemeral | :white_check_mark: | Executes queries using CTEs. |
incremental | :x: | Use the materializedview materialization instead! |
dbt's incremental models are valuable because they only spend your time and money transforming your new data as it arrives. Luckily, this is exactly what Materialize's materialized views were built to do! Better yet, our materialized views will always return up-to-date results without manual or configured refreshes. For more information, check out our documentation.
Seeds
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.
Hooks
Not tested.
Custom Schemas
Not tested.
Sources
Not tested.
Testing and Documentation
dbt docs
commands are supported.
dbt test
is untested.
Snapshots
Not supported, will likely not be supported in the near term.
Contributors
A huge thank you to Josh Wills, who originally created this adapter.