---
title: "Datasets written by more than one OpenLineage job | Metacenta"
description: "Which datasets in your OpenLineage events two or more jobs write to, why the last job to run decides their contents, and when several writers are intended."
url: "https://metacenta.com/rules/lineage-dataset-many-writers"
updated: "2026-10-14"
tokens: 497
---

Lineage integrity · rule lineage-dataset-many-writers

# Datasets written by more than one OpenLineage job

A Metacenta review checks this under the rule **Each dataset has one writing job**. Everything below applies whether or not you ever commission one.

## What this rule checks

From an export of OpenLineage events, this rule flags each dataset that two or more distinct jobs wrote to, across every event in the export. A dataset is identified by its namespace and name. Jobs are counted by name.

## Why it matters

The dataset's contents depend on which job ran last, and no single team controls that.

## How to fix it

**Give each dataset one writing job.** Give the dataset one writing job. If several jobs write different partitions on purpose, document that where every owning team will see it.

## When it is fine to leave

Jobs that write separate partitions or date ranges into one table on purpose are not competing. A job renamed during the export window also shows up as two writers. Tell us which applies, and the finding comes out of your report.

## What we need to check it

An export of OpenLineage events, such as a JSON Lines file from your lineage backend. We read job and dataset names and each job's outputs, never the data. The rule declines when no event could be read.

[Ask about a review](https://metacenta.com/enquire?src=rule-lineage-dataset-many-writers&via=md)

## Related pages

- [dbt dependency cycles in the model DAG](https://metacenta.com/rules/dependency-cycle)
- [dbt models with a hardcoded table name](https://metacenta.com/rules/hardcoded-table-reference)
- [dbt exposures: what they are and how to declare them](https://metacenta.com/rules/model-possibly-unused)
- [Deep dbt lineage: long chains of models](https://metacenta.com/rules/deep-lineage)
- [A sample review, as a client reads it](https://metacenta.com/sample)
- [All published rules](https://metacenta.com/rules)
- [How a review is assessed](https://metacenta.com/standard)
