dbt native data observability for analytics & data engineers
Monitor your data quality, operation and performance directly from your dbt project.
Quick start
- Add to your
packages.yml
:
packages:
- package: elementary-data/elementary
version: 0.10.3
## Docs: https://docs.elementary-data.com
Run
dbt deps
Add to your
dbt_project.yml
:
models:
## elementary models will be created in the schema '<your_schema>_elementary'
## for details, see docs: https://docs.elementary-data.com/
elementary:
+schema: "elementary"
- Run
dbt run --select elementary
Check out the full documentation for generating the UI, alerts and adding anomaly detection tests.
Run Results and dbt artifacts
The package automatically uploads the dbt artifacts and run results to tables in your data warehouse:
Run results tables:
- dbt_run_results
- model_run_results
- snapshot_run_results
- dbt_invocations
- elementary_test_results (all dbt test results)
Metadata tables:
- dbt_models
- dbt_tests
- dbt_sources
- dbt_exposures
- dbt_metrics
- dbt_snapshots
Here you can find additional details about the tables.
Data anomalies detection as dbt tests
Elementary dbt tests collect metrics and metadata over time, such as freshness, volume, schema changes, distribution, cardinality, etc. Executed as any other dbt tests, the Elementary tests alert on anomalies and outliers.
Elementary tests are configured and executed like native tests in your project!
Example of Elementary test config in properties.yml
:
models:
- name: your_model_name
config:
elementary:
timestamp_column: updated_at
tests:
- elementary.table_anomalies
- elementary.all_columns_anomalies
Data observability report
Slack alerts
How it works?
Elementary dbt package creates tables of metadata and test results in your data warehouse, as part of your dbt runs. The CLI tool reads the data from these tables, and is used to generate the UI and alerts.
Data warehouse support
- Snowflake
- BigQuery
- Redshift
- Databricks SQL
- Postgres
Community & Support
- Slack (Talk to us, support, etc.)
- GitHub issues (Bug reports, feature requests)
Contributions
Thank you :orange_heart: Whether it’s a bug fix, new feature, or additional documentation - we greatly appreciate contributions!
Check out the contributions guide and open issues in the main repo.