Data Lineage
Data lineage tracks how data moves and transforms from its sources through pipelines and models to its final consumption points. It answers where a metric came from, what transformations shaped it, and what would be affected if an upstream source changed.
itData engineering and analytics | OpenSkills.info
Intro
Data Lineage
Data lineage records how data moves and changes from an origin to a destination. It connects source datasets, processing activities, outputs, and responsible systems or people. The result is a graph that can answer two practical questions: where did this data come from, and what depends on it?
The central mental model is a map plus evidence.
source dataset -> transformation job -> curated table -> metric -> dashboard
node node node node node
\____________ directed dependency edges ________________/
The map shows connected assets. The evidence describes the transformations, executions, times, versions, and owners behind those connections. A diagram without reliable evidence becomes stale. A stream of evidence without stable identities cannot form a useful graph.
Why data lineage exists
Modern data crosses databases, files, streams, transformation tools, schedulers, and reporting systems. A field on a dashboard may have passed through many jobs before a reader sees it. Local documentation rarely explains the entire path.
Lineage makes that path queryable. You can use it to:
- trace a questionable result toward its upstream inputs;
- identify downstream assets before changing a table or field;
- discover which job produced a dataset;
- connect an execution failure to affected outputs;
- find owners and documentation attached to a path;
- preserve evidence about how a result was produced.
Lineage does not prove that data is accurate. It records relationships and context. A fully traced calculation can still contain an incorrect rule.
A graph of entities and activities
Continue the course
This section is part of the paid course.
See pricing to subscribe, or log in if you already have access.
Where this skill leads
Relevant careers
See how this topic contributes to broader role-level skill maps.
Sources
- https://www.w3.org/TR/prov-overview/
Supports
- Provenance as information about entities, activities, and people involved in producing a thing
- Provenance use in assessments of quality, reliability, and trustworthiness
- Interoperable interchange of provenance across heterogeneous systems
- The structure and intended audiences of the W3C PROV family
- https://www.w3.org/TR/prov-primer/
Supports
- Intuitive definitions and examples for entities, activities, agents, usage, generation, derivation, roles, and time
- Provenance uses including understanding collection, judging trust, checking process requirements, and reproduction
- Activities using existing entities and generating new entities
- Agents and responsibility for activities or entities
- https://www.w3.org/TR/prov-o/
Supports
- Normative starting-point definitions for entity, activity, and agent
- Relations for usage, generation, derivation, association, and attribution
- Provenance chains connecting activities, entities, and responsible agents
- https://openlineage.io/
Supports
- OpenLineage as an open framework for lineage metadata collection and analysis
- Datasets, jobs, and runs as tracked metadata objects
- A standard event API and integrations for pipeline components
- Root-cause and impact questions as uses of collected lineage metadata
- https://openlineage.io/docs/spec/naming/
Supports
- Dataset and job identity through a namespace and name
- Runs as executions identified by run identifiers
- Consistent naming as necessary to connect lineage nodes over time
- A job as recurring processing with inputs and outputs
- https://openlineage.io/docs/spec/facets/
Supports
- Facets as atomic metadata attached to runs, jobs, and datasets
- Event context divided among job, run, input, and output facets
- Schema-based extension through standard and custom facets
- https://openlineage.io/docs/spec/facets/job-facets/
Supports
- A job as an abstract process that consumes and produces datasets
- Job identity by unique name within a namespace
- Job evolution captured during runs
- https://openlineage.io/docs/spec/facets/dataset-facets/column_lineage_facet/
Supports
- Column-level dependencies from input fields to output fields
- Direct relationships for identity, transformation, and aggregation
- Indirect relationships for joins, groups, filters, sorts, windows, and conditions
- Field-level impact questions and masking metadata
- https://openlineage.io/apidocs/openapi/
Supports
- Run, dataset, and job event request shapes
- Event time, producer, and schema reference requirements
- Run lifecycle states including start, running, complete, abort, fail, and other
- Input and output datasets attached to run events
- https://openlineage.io/docs/integrations/about/
Supports
- Different integrations collecting different facets and metadata
- The need for custom integrations where existing integrations do not cover a system
- Integration libraries as a path for additional metadata collection
- https://atlas.apache.org/api/v2/resource_LineageREST.html
Supports
- Lineage retrieval for an identified entity
- Input, output, or both traversal directions
- Bounded traversal through a depth parameter
