Skip to content

HuangZhenQiu/OpenLineage

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Badges

CircleCI status Slack license maven CII Best Practices

Overview

OpenLineage is an Open standard for metadata and lineage collection designed to instrument jobs as they are running. It defines a generic model of run, job, and dataset entities identified using consistent naming strategies. The core lineage model is extensible by defining specific facets to enrich those entities.

Status

OpenLineage is an LF AI & Data Foundation incubation project under active development, and we'd love your help!

Problem

Before

  • Duplication of effort: each project has to instrument all jobs
  • Integrations are external and can break with new versions

Before OpenLineage

With OpenLineage

  • Effort of integration is shared
  • Integration can be pushed in each project: no need to play catch up

With OpenLineage

Scope

OpenLineage defines the metadata for running jobs and the corresponding events. A configurable backend allows the user to choose what protocol to send the events to. Scope

Core model

Model

A facet is an atomic piece of metadata attached to one of the core entities. See the spec for more details.

Spec

The specification is defined using OpenAPI and allows extension through custom facets.

Integration matrix

The OpenLineage repository contains integrations with several systems.

Name Table-level lineage Column-level lineage
Apache Spark 1
Apache Airflow 2
Dagster
dbt
Flink
  1. Does not support SELECT * queries with JDBC.
  2. Supports SQL-based operators other than BigQuery.

Related projects

  • Marquez: Marquez is an LF AI & DATA project to collect, aggregate, and visualize a data ecosystem's metadata. It is the reference implementation of the OpenLineage API.
  • Egeria: Egeria offers open metadata and governance for enterprises - automatically capturing, managing and exchanging metadata between tools and platforms, no matter the vendor.

Community

Talks

Contributing

See CONTRIBUTING.md for more details about how to contribute.

Report a Vulnerability

If you discover a vulnerability in the project, please open an issue and attach the "security" label.


SPDX-License-Identifier: Apache-2.0
Copyright 2018-2023 contributors to the OpenLineage project

About

An Open Standard for lineage metadata collection

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 61.9%
  • Python 26.9%
  • Rust 6.2%
  • Shell 1.9%
  • PLpgSQL 1.5%
  • Kotlin 0.5%
  • Other 1.1%