# OpenLineage Consumer

The **OpenLineage consumer** lets you forward data lineage events generated by your Data Platform project to an external lineage solution of your choice. Once connected, the platform continuously streams [OpenLineage](https://openlineage.io/)-compliant events to your lineage backend so you can visualize and explore your data lineage graph there.

![open-lineage-consumer](picts/open-lineage-consumer.png)

?> Data Platform also includes a built-in lineage viewer: see [Lineage](/en/product/lakehouse-manager/lineage/index.md) in the Lakehouse Manager. The OpenLineage consumer is for teams that want the same events in their own lineage solution — see [compatible tools](#compatible-lineage-solutions) below.

!> **Compatibility notice:** At this time, [Marquez](https://marquezproject.ai/) is the only lineage solution that has been validated to work reliably with Data Platform's OpenLineage events. Other OpenLineage-compatible tools may receive events but could provide a degraded experience. We recommend using Marquez for the best results.

- [Compatible lineage solutions](#compatible-lineage-solutions)
- [Configure the OpenLineage consumer](#configure-the-openlineage-consumer)
- [Send lineage events from the DPE](#send-lineage-events-from-the-dpe)

---

## Compatible lineage solutions

The following lineage solution has been validated to work with Data Platform:

| Tool | Description |
| :--- | :--- |
| [Marquez](https://marquezproject.ai/) | Open-source metadata service built natively for OpenLineage |

Any tool that exposes an OpenLineage HTTP API endpoint can technically be used, but only Marquez is officially supported at this time.

---

## Configure the OpenLineage consumer

If you haven't done so already, [add a new](/en/product/connectors/consumers/index?id=create-a-consumer) **OpenLineage** consumer in the Connectors. Else, just edit it.

You will need to provide the following values:

| Field | Required | Description |
| :--- | :--- | :--- |
| **Endpoint URL** | Yes | The HTTP(S) URL of your lineage solution's OpenLineage API (e.g. `https://marquez.example.com/api/v1/lineage`) |
| **Auth token** | No | A bearer token used to authenticate requests to your lineage backend. Leave empty if your backend does not require authentication |
| **Keep Events** | No | If true, events are stored in the bucket after being sent for history. Otherwise they are deleted. (Default: false) |
| **Disable Trino events** | No | If true, lineage events generated by Trino queries (Explorer, Analytics Manager) are not forwarded to your lineage backend. Only events from DPE actions (Load, Aggregate, Custom) are sent. Use this to reduce noise if you only care about batch lineage. (Default: false) |

![open-lineage-consumer-configure](picts/open-lineage-consumer-configure.png)

Once a lineage consumer is configured, every lineage events will be stored on the [Lakehouse Manager Bucket](/en/product/lakehouse-manager/buckets/index.md) **DWH** under `openlineage/events/queued`. Events will be forwarded to your lineage solution each time the [Send OpenLineage Events](/en/product/dpe/actions/send-openlineage-events/index.md) DPE action runs.

---

## Send lineage events from the DPE

Lineage events are forwarded by the [**Send OpenLineage Events**](/en/product/dpe/actions/send-openlineage-events/index) action in the Data Processing Engine. You can configure it to run:

- **As a cron job** — on a fixed schedule (e.g. every hour, every night)
- **As an always-up action** — continuously, to keep your lineage solution in sync in near real time

See the [Send OpenLineage Events](/en/product/dpe/actions/send-openlineage-events/index) documentation for setup details.

?> For Custom actions, lineage tracking is opt-in. See [Track data lineage in a Custom action](/en/technical/sdk/dpe/3E.lineage) to learn how to emit lineage events from your own Python code.

---

### Need help? 🆘

> At any step, you can create a ticket to raise an incident or if you need support at the [OVHcloud Help Centre](https://help.ovhcloud.com/csm/fr-home?id=csm_index). Additionally, you can ask for support by reaching out to us on the Data Platform Channel within the [Discord Server](https://discord.com/channels/850031577277792286/1163465539981672559). There is a step-by-step guide in the [support](/en/support/index.md) section.
