advanced24 min studyLesson 333 in Engineering

Record the dependencies a run actually creates

Distinguish jobs, executions, datasets, columns, and indirect influences without treating a lineage diagram as complete proof.

On this page

What you’ll understand

  • Identify job definitions, run identities, and versioned input/output artifacts.
  • Separate direct column transformation from selection and join influences.
  • Evaluate lineage precision and capture scope before tracing affected training artifacts.

A model's embedding table is wrong, and a lineage graph points to every dataset read by a large daily job. That may be too broad to diagnose the problem and too incomplete to establish what else is affected. Useful lineage records which execution used which artifact versions and how particular outputs depend on inputs. It must also distinguish declared dependencies from observed ones. The graph helps investigate and govern a pipeline only when the meaning and coverage of each edge are known.

Separate a job from one execution and its artifacts

A job identifies a recurring computation or definition; a run identifies one execution of it. The same job can read different snapshots, execute different code versions, and produce different outputs on different days. Record those versions and the run's state instead of attaching one timeless edge to a mutable dataset name. OpenLineage models jobs, runs, and datasets with namespaced identities and extensible facets. A dataset reference alone does not necessarily pin its contents, so include the available snapshot, object version, or manifest identity required to reconstruct this particular execution.

Provenance also asks who or what was responsible for an artifact and activity. W3C PROV distinguishes entities, activities, and agents, supporting descriptions of derivation without implying that every input used by an activity contributed to every entity it generated. A computation may read a configuration for an unrelated diagnostic output while independently producing an embedding table. Turning every input and output into a Cartesian product of edges invents dependencies. Conversely, a dynamic lookup or external preprocessing service may be absent from static SQL analysis. Identify the capture mechanism and label declared plans, observed runs, and inferred relationships so users can assess which question each record answers.

Eall pairs=∣I∣ ∣O∣E_{\mathrm{all\ pairs}}=|I|\,|O|
I and O count input and output dataset identities for one job execution. Their Cartesian product is a possible over-approximation, not automatically the set of actual data-flow edges.↔ Scroll wide equations horizontally.

A column can influence values or which rows exist

Direct column lineage may say that a normalized feature is computed from a raw score using a specific transformation. Indirect influences include filters, joins, grouping, ordering, and conditional expressions that change which rows or values contribute. A permission flag used only in a WHERE condition can determine the training cohort even when it is not copied into the output. Omitting that edge makes it harder to audit the use boundary. Record the transformation category and scope that your lineage collector actually supports, and inspect how it handles aliases, user-defined functions, nested fields, and generated code.

Column lineage is not automatically a proof that a training example was eligible or a model was unaffected by a source defect. The captured run might not match the version used for training; the filter may have been coded incorrectly; the graph may omit side inputs. Keep code identity, policy version, dataset version, and run evidence connected. When a source field changes classification or is corrected, traverse verified dependencies to find candidate affected outputs, then validate actual membership and transformations. Over-approximated edges can support conservative investigation, but their false positives and missing coverage must remain visible.

precision⁡E=∣Erecorded∩Ereference∣∣Erecorded∣\operatorname{precision}_{E}=\frac{|E_{\mathrm{recorded}}\cap E_{\mathrm{reference}}|}{|E_{\mathrm{recorded}}|}
This diagnostic edge precision assumes a trusted finite reference graph and a nonempty recorded edge set for the same execution and edge semantics. It is not measurable from the recorded graph alone.↔ Scroll wide equations horizontally.

Test the collector as part of the pipeline

Create small workloads whose dependencies are known: independent outputs, joins, filtered cohorts, renamed columns, and one dynamic side input. Check the collector's graph against these cases and retain its version and configuration. Capture loss, failed export, or unsupported operations should yield explicit uncertainty rather than an empty graph interpreted as no dependencies. A completed job event also does not prove that every output was atomically committed or that its consumer read that exact version. Link artifact publication and training execution records so the lineage can answer a concrete reconstruction question.

The probability lab provides a limited model of capture completeness. Reset, set both p=0.9 and n=10, predict the probability that every known edge is captured, then inspect the bar at ten successes. It is 0.9 raised to the tenth, about 34.9%, under independent equal capture probability. The lab neither extracts dependencies nor measures collector accuracy. Correlated unsupported operations can make the independence assumption especially poor. Use the calculation to challenge the idea that a high per-edge success rate automatically establishes a complete run graph, then return to deterministic known-case tests and actual export evidence.

Avoid inventing dependencies between independent outputs

A known job reads text, tokenizer configuration, and label-audit data. It independently writes embeddings from text plus tokenizer configuration, and an audit report from label-audit data. Assume these are the only three true dataset edges.

  1. Three inputs and two outputs give six input-output pairs if the collector inserts every Cartesian-product edge.

  2. Only three pairs are actual dependencies under the supplied execution: text→embeddings, tokenizer→embeddings, and label-audit→audit report. The other three recorded pairs are false edges.

  3. The all-pairs graph has edge precision 3/6=50% and captures all three reference edges. A more precise graph records the three actual pairs while preserving the evidence that their independence was established.

The result

An input list is useful context, but it does not by itself prove that every input influenced every output. Capture the edge semantics required by the investigation.

Explore the model

Interactive lab

Interactive lab · probability

High per-edge capture is not complete-run proof

Reset, set both success probability p=0.9 and trials n=10, predict the ten-successes bar, then inspect. It is approximately 0.3487. This exact binomial model assumes independent equal-probability capture of ten known edges; it does not extract a lineage graph.

High per-edge capture is not complete-run proofThese are exact binomial probabilities for independent trials with one fixed success probability. Playback tours the distribution; it does not resample outcomes. Current readings: Mean · np: 5; Variance · np(1−p): 2.5; Total probability: 1. All parameters are adjustable with the labeled controls below.03581000.070.150.220.3Successes kP(X = k)k = 0 · P = 9.77e-4
Exact probabilityHighlighted outcomeMean np
Mean · np
5
Variance · np(1−p)
2.5
Total probability
1
t = 0 s

These are exact binomial probabilities for independent trials with one fixed success probability. Playback tours the distribution; it does not resample outcomes. Parameter changes pause playback and recompute the model at the current elapsed time. Reset restores both parameters and returns time to zero. Playback starts paused. Adjust either parameter, then choose Play or Step.

Look forMissing one edge can matter to an affected-artifact query. Known-case collector tests, export health, and versioned run evidence are needed beyond a hypothetical per-edge capture probability.

Check your understanding

A permission flag is used only to filter rows before training features are written. What lineage interpretation is appropriate?

Try it yourself

A recorded graph has 12 edges for one execution. A trusted reference has 10 true edges;9 appear in the recorded graph. Compute edge precision and recall, and identify what the missing edge can undermine.

Take a moment to make a prediction or work it out on paper. Open a hint when you need one.

Give me a hint

Use 9 recorded true positives with the recorded and reference denominators separately.

Compare with the solution

Precision is 9/12=75% and recall is 9/10=90%. The missing true edge can hide an affected output or omitted use boundary. These metrics require the trusted reference and matching edge definitions; the graph cannot certify its own completeness.

Take it with you

  • Lineage needs distinct job, run, artifact-version, and responsibility identities.
  • Column values and row-selection conditions create different kinds of influence.
  • Recorded edges support investigation only within their demonstrated precision and coverage.

Read further

Original sources and deeper explanations to follow at your own pace.

Optional progress, saved in this browser when available. Revisit any lesson at any time.

Lesson not marked complete.