Great Expectations
Declarative data quality. Runs after every dbt build. Failed expectations block downstream tasks.
Tier
Cold. Runs as a post-dbt task inside the scheduled DAG. Memory during a run: ~500 MB.
Role
Great Expectations runs assertions against the marts schema after dbt finishes. If any expectation fails, downstream tasks (Elementary reporting, dashboard refresh) are blocked and the DAG marks the run as failed.
Writing expectations
Expectations live in ./great_expectations/expectations/ as YAML files, one per mart. Example:
expectations:
- expect_column_values_to_not_be_null:
column: customer_id
- expect_column_values_to_be_between:
column: total_amount
min_value: 0
max_value: 10000000