The Materialize adapter plugin for dbt (data build tool).
Project description
dbt-materialize
dbt adapter for Materialize.
For a complete step-by-step guide on how to use dbt and Materialize, check the documentation.
Installation
dbt-materialize
is available on PyPI. To install the latest version via pip
(optionally using a virtual environment),
run:
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
Requirements
dbt-materialize
requires Materialize v0.20.0+.
Configuring your profile
To connect to a Materialize instance, use the reference profile configuration in your connection profile:
dbt-materialize:
target: dev
outputs:
dev:
type: materialize
threads: 1
host: [host]
port: [port]
user: materialize
pass: [password]
dbname: [database]
schema: [name of your dbt schema]
Complete sample profiles (including for Materialize Cloud) can be found in sample_profiles.yml.
Supported Features
Materializations
Type | Supported? | Details |
---|---|---|
source |
YES | Creates a source. |
view |
YES | Creates a view. |
materializedview |
YES | Creates a materialized view. |
table |
YES | Creates a materialized view. (Actual table support pending #5266.) |
index |
YES | (Deprecated) Creates an index. Use the indexes config to create indexes on materializedview , view or source relations instead. |
sink |
YES | Creates a sink. |
ephemeral |
YES | Executes queries using CTEs. |
incremental |
NO | 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. |
Additional macros
Macro | Purpose |
---|---|
mz_generate_name(identifier) |
Generates a fully-qualified name (including the database and schema) given an object name. |
We provide a materialize-dbt-utils
package with Materialize-specific implementations of dispatched macros from dbt-utils
. To use this package in your dbt project, check the latest installation instructions in dbt Hub.
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.
Documentation
dbt docs
is supported.
Testing
dbt test
is supported.
If you set the optional --store-failures
flag or store-failures
config, dbt will save the results of a test query to a materializedview
.
These will be created in a schema suffixed or named dbt_test__audit
by default. Change this value by setting a schema
config.
Snapshots
Not supported. Support is not planned for the near term.
Contributors
A huge thank you to Josh Wills, who created the original version of this adapter.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file dbt-materialize-1.1.1.tar.gz
.
File metadata
- Download URL: dbt-materialize-1.1.1.tar.gz
- Upload date:
- Size: 11.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 433333d7193db84e4f6b7cd6b6f259b81196d648ea10925ecd458f3902c811f7 |
|
MD5 | d8593ddf1e5e305eaf05393fdef484f4 |
|
BLAKE2b-256 | e6e367ff23ac1b48040a31f8f7006a6d5961ee55a0816a29193325ba699bda96 |