- Single interface for all observability - Prevent the distribution of monitoring between different tools. All configuration is in code, all the results are in one interface.
- Avoid duplicate work and vendor lock in - The tests you implemented already are effective in Elementary, as well as additional configuration. The future tests you add will remain in your code if you decide to offboard.
- Control of schedule and cost - You have control of configuration and scheduling, tests can be executed when data is actually loaded and validation is needed.
- Prevent bad data from propagating - As tests are in pipeline, you can leverage
dbt build
and fail the pipeline on critical test failures. - Rich ecosystem - The community of dbt users developes and supports various testing use cases.
dbt Test Hub
To help you find the test that is right for your use case, we created the dbt Test Hub. It's a searchable catalog of all the tests supported in Elementary, with their descriptions and example use cases. The tests are also segmented to use cases, so you can easily find the different options for addressing your detection use case.Supported dbt tests and packages
Elementary collects and monitors the results of all dbt tests. The following packages are supported in the tests configuration wizard:- dbt expectations - A dbt package inspired by the Great Expectations package for Python. The intent is to allow dbt users to deploy GE-like tests in their data warehouse directly from dbt.
- dbt utils - A package by dbt labs that offers useful generic tests.
Note that you need to import these packages to your dbt project to use them.