Skip to main content

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 Creates an index.
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.

Testing and Documentation

dbt docs and dbt test commands are supported.

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dbt-materialize-1.0.1.post3.tar.gz (11.0 kB view details)

Uploaded Source

File details

Details for the file dbt-materialize-1.0.1.post3.tar.gz.

File metadata

  • Download URL: dbt-materialize-1.0.1.post3.tar.gz
  • Upload date:
  • Size: 11.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/32.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.8 tqdm/4.62.3 importlib-metadata/4.11.1 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.8.10

File hashes

Hashes for dbt-materialize-1.0.1.post3.tar.gz
Algorithm Hash digest
SHA256 c2cc00ed45c626165be4e3063bc08b312edbb997658deb0aa3f390518830c2b8
MD5 1809c9f21336f003c54eae6dffeab3ce
BLAKE2b-256 5c46f6063e5568bb39fc5b5fd417b3ae856548fb1cf6a1a3dd5f5fea35340b0f

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page