Data lineage answers a critical operational question: when this table has bad data, where did it come from? Without lineage, tracing a data quality issue from a dashboard anomaly back to its root cause requires manually reading pipeline code, querying multiple tables, and reconstructing the data flow from documentation that may be out of date. With lineage, the answer is a graph traversal: follow the edges from the affected table backward through all transformations to the source, reducing the mean time to root cause from hours to minutes.
OpenLineage is an open standard for collecting and transmitting lineage metadata from data pipeline tools. It defines a common event schema — `RunEvent` — that records when a job started and completed, which datasets it consumed (inputs), and which datasets it produced (outputs). This standard-based approach means lineage can be collected from Airflow, Spark, dbt, Flink, and any other tool that implements the OpenLineage specification, and all events are sent to the same lineage backend. Marquez is the reference implementation of an OpenLineage-compatible metadata server.
Analogy🏏Cricket
🏏 Think of it like cricket: Migrating from Airflow to Prefect is like the same bowling coach shifting from traditional Test cricket notation to a modern T20 analytics dashboard — the underlying ball-by-ball data (the business logic) is exactly the same. What changes is how the data is recorded, displayed, and acted upon. The yorker that Bumrah bowls in over 20 is identical whether it is recorded in the old scorebook (Airflow DAG file) or the new analytics platform (Prefect flow). The migration is a transcription exercise, not a strategy change — and a wise coach verifies that the runs, wickets, and economies match exactly between the old and new system before decommissioning the scorebook. That verification step is the whole heart of the migration: because the yorker is unchanged, the only honest test is to run the same over through both systems and confirm the recorded runs, wickets and economies match to the last digit before the old scorebook is thrown away. Rushing to burn the scorebook the moment the shiny dashboard lights up is how teams lose a season of records to a silent transcription slip. The coach keeps both systems running in parallel for a while, reconciles their outputs ball by ball, and only when every figure agrees does he trust the new dashboard alone — a transcription is only complete when you have proven nothing was lost in the copying.
🏏 Showing the Cricket analogy — a Cricket version isn’t available for this concept yet.