Skip to content

Data anomalies monitoring as dbt tests and dbt artifacts uploader.

License

Notifications You must be signed in to change notification settings

ntnhaatj/dbt-data-reliability

 
 

Repository files navigation

Logo

dbt native data observability for analytics & data engineers

Monitor your data quality, operation and performance directly from your dbt project.

License Downloads

Quick start

  1. Add to your packages.yml:
packages:
  - package: elementary-data/elementary
    version: 0.11.2
    ## Docs: https://docs.elementary-data.com
  1. Run dbt deps

  2. 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"
  1. 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

UI

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

Contributions

Thank you 🧡 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.

About

Data anomalies monitoring as dbt tests and dbt artifacts uploader.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 99.9%
  • Shell 0.1%