Skip to content
Data Versioning & ML Reproducibility

10.04 · Walkthrough

LakeFS for Data Lake Branches

Use a LakeFS-style branching workflow to isolate, validate, and merge changes to data lake tables.

LakeFS-style branching gives data lake changes a Git-like promotion path: branch from production, write and test table updates in isolation, then commit and merge only after validation. It reduces the blast radius of backfills, schema changes, feature generation, and training-data preparation while preserving an auditable version history.

What this lesson answers

  • how does LakeFS branching work for data lakes
  • how to validate data lake changes before production
  • how to version machine learning training datasets

Notes

LakeFS brings a Git-like workflow to data lakes by letting engineers create branches over object storage data, make isolated changes, validate those changes, and merge them back into a main branch when they are ready. Instead of writing directly to production tables in S3, GCS, or Azure Blob Storage, a pipeline can write to a temporary branch. The branch presents a consistent view of the lake: unchanged files are shared with the parent branch, while new or modified files are tracked as branch-specific changes.

Common questions

What problem does LakeFS-style branching solve in a data lake?
It prevents pipelines from mutating production data directly. A job can write changed files, partitions, or table metadata to a separate branch, where checks run against a coherent lake view. If the result is wrong, the branch can be inspected, rerun, or discarded without leaving production tables half-updated.
How is a data lake branch different from copying the whole dataset?
A branch behaves like a separate version of the lake without requiring every unchanged object to be duplicated. Existing data can remain shared with the source branch, while new or changed objects are tracked as branch-specific state. That makes branching practical for large object-store-backed tables.
Why does branching help machine learning reproducibility?
Training data, feature sets, reports, and experiments can be tied to a committed lake state rather than to whatever happens to be current when a job runs. That gives engineers a stable reference for reruns, comparisons, audits, and debugging when model behaviour changes after upstream data updates.