Module 13 of 16

Lineage with dbt Artifacts

Trace impact from source columns to models, metrics, dashboards, and AI answers.

Updated

120 minutes1 exercisesFree

Start here

Learning objectives

  • Explain table, column, metric, and operational lineage
  • Know what dbt manifest, run_results, and catalog artifacts contain
  • Use lineage to reason about blast radius
Lineage with dbt Artifacts Follow the arrows. Each box is one idea you will practice in this module. Source step 1 Model step 2 Column step 3 Metric step 4 Dashboard step 5 Production analytics engineering turns raw records into governed, trusted business meaning.

The Mental Model

Lineage is the map of how data flows. It helps you debug wrong numbers, assess change impact, and explain how a metric was produced.

Lineage is like a family tree for data. If one parent changes, you can see which children may be affected.

Dataset reference: ecommerce tables and grain assumptions.

Trace a unit change to consumers

A source changes amount from dollars to cents. Trace the dependency before editing a downstream dashboard.

raw_orders.amount_cents
  -> stg_orders.amount (divide by 100)
    -> fct_orders.net_amount
      -> net_revenue metric
        -> finance dashboard
        -> revenue API

Use the dependency graph in dbt artifacts to identify model edges, then add consumers that live outside dbt. A graph can show that one model depends on another without proving the units or every field-level transformation. Review SQL, model descriptions, exposures, and consumer ownership together.

Acceptance check: the fixture value 1250 becomes 12.50 exactly once, every affected consumer has an owner, and the migration plan covers both old and new source versions.

Interactive Check

Question: raw_orders.amount changes from dollars to cents. Which downstream objects might be impacted?

Reveal the answer

Any staging model using amount, any fact table deriving revenue, any revenue metric, and all dashboards or AI tools consuming that metric.

Practice: Trace the Blast Radius

Follow one changed source column through models, metrics, and consumers.

Use the guided lab below to record your result, assumptions, and the check that would catch an incorrect result.

Production notes

Keep these close

  • Use lineage during code review. Ask "what downstream object changes if this column changes meaning?" before merge.

Common mistakes

What usually breaks

  • Treating lineage as a pretty graph only
  • Ignoring dashboards and metrics as lineage endpoints
  • Not capturing run status and freshness alongside structural lineage

Key terms

Vocabulary used in this module

Lineage

Metadata describing how data flows from upstream inputs to downstream outputs.

Manifest

A dbt artifact containing project graph and resource metadata.

Exercises

Practice inside the lesson

30-45 minutesIntermediate

Trace the Blast Radius

Follow one changed source column through models, metrics, and consumers.

  1. Start at raw_orders.amount
  2. Map it to stg_orders.order_amount
  3. Map it to fct_orders.gross_revenue
  4. Map it to net_revenue
  5. List impacted dashboards and owners

Expected evidence

A short answer, SQL/YAML snippet, or lineage map that can live directly in the course page notes.

Recap

Key takeaways

  • Lineage makes data changes safer
  • dbt artifacts already contain useful dependency metadata
  • Column and metric lineage are more useful than table lineage alone

Related resources

Keep learning across CodersSecret