Start here
In the orchestration chapter, you put the shop job in a DAG of five tasks. One of them, check_daily_revenue, checks the data. This chapter shows what that task should check.
A job can finish with every task succeeding and still publish a wrong number. Nothing crashed, so nobody gets an alert.
What you already know
- In a DAG, a failed task makes the tasks after it skip, and a person gets an alert.
- A failed check is not retried. The rows do not change when you look again.
- The Python validation chapter checks every row, collects every problem, and stops when too many rows are bad.
What you will learn
- How bad rows change a number.
- Six questions that define good data.
- A check as a query that finds bad rows.
- Where the check runs in the job.
- Write, audit, publish.
- Warn or block: what happens when a check fails.
- Freshness and volume checks, and dbt tests.
- A starter kit of six checks.
We use the shop and its daily job, from raw_orders to daily_revenue. When a lesson needs bad rows, we add them in that section and say so.
