Elementary provides tests for detection of data quality issues. Elementary data tests are configured and executed like native tests in your dbt project.
Elementary tests can be used in addition to dbt tests, packages tests (such as dbt-expectations), and custom tests. All of these test results will be presented in the Elementary UI and alerts.
- Event freshness
- Column anomalies
- Schema changes
- Baseline schema
- JSON schema
- Exposure schema
- Python tests
Anomaly detection tests
Tests to detect anomalies in data quality metrics such as volume, freshness, null rates, and anomalies in specific dimensions.
Monitors table row count over time to detect drops or spikes in volume.
Monitors the latest timestamp of a table to detect data delays.
Event freshness anomalies
Monitors the gap between the latest event timestamp and it’s loading time, to detect event freshness issues.
Monitors the row count per dimension over time, and alerts on unexpected changes in the distribution. It is best to configure it on low-cardinality fields.
Monitors a column for anomalies in metrics such as null rate, length, max and min, and more. Read more about specific column metrics.
All columns anomalies
Activates the column anomalies test on all the columns of the table. It’s possible to exclude specific columns.
Fails on changes in schema: deleted or added columns, or change of data type of a column.
Schema changes from baseline
Fails if the table schema is different in columns names or column types than a configured baseline (can be generated with a macro).
Monitors a JSON type column and fails id there are JSON events that don’t match a configured JSON schema (can be generated with a macro).
Monitors changes in your models’ columns that break schema for downstream exposures, such as BI dashboards.
Write your own custom tests using Python scripts.