For data monitoring and dbt artifacts collection, Elementary uses a dbt package. The package adds models, macros, and Elementary tests as dbt tests to your project.

The impact of the package on dbt run is minimal, and most of the processing happens as part of the data tests that are executed on dbt test.

The repository and source code of the Elementary dbt package can be found here.

Package Features

After you deploy the dbt package, you can use Elementary tests, and your dbt artifacts will be uploaded automatically with on-run-end hooks:

Although you can use the package only, we recommend using it with Elementary Cloud or OSS.

Read about the key features and product offerings:

Elementary schema

The Elementary package creates various models to store information about collected dbt artifacts and test results.

To avoid mixing with your existing models, we recommend configuring a dedicated schema for the Elementary models using the dbt custom schema option. Here is an example configuration, that creates a schema with the suffix '_elementary' for elementary models:

dbt_project.yml
models:
  elementary:
    +schema: elementary

Package full refresh

Elementary incremental models are not full-refreshed by default. This is because these models contain information such as historical runs and test results, which typically you’d want to maintain even when full refreshing the models of your main dbt project.

However, if you wish to change this behavior and include Elementary models as a part of the full refresh, you can set the following var:

vars:
  elementary_full_refresh: true