Skip to main content

Overview

Branches let you write data to an isolated copy of your table without affecting the main data. Tags are immutable bookmarks on specific snapshots.

Branches

Use Cases

  • Safe testing: Test new transforms on a branch before merging to production
  • A/B experimentation: Write different data processing paths to separate branches
  • Staging: Use a branch as a staging environment before promoting to main

Branch Lifecycle

API

GET /api/managed-lakehouse/tables/{tableId}/branches
POST /api/managed-lakehouse/tables/{tableId}/branches
{
  "branchName": "experiment-v2",
  "snapshotId": 123456  // optional, defaults to current
}
POST /api/managed-lakehouse/tables/{tableId}/branches/{name}/merge
Fast-forward merge: updates main’s snapshot pointer to the branch head.
DELETE /api/managed-lakehouse/tables/{tableId}/branches/{name}
The main branch cannot be deleted.

Pipeline Configuration

Set the Write to Branch field in the Managed Lakehouse destination node to direct writes to a named branch:
{
  "managedLakehouseSettings": {
    "writeBranch": "staging-branch"
  }
}

Tags

Tags are immutable bookmarks on specific snapshots.

Use Cases

  • Release markers: production-2026-Q1
  • Compliance checkpoints: Mark snapshots for audit retention
  • Rollback targets: Know exactly which snapshot to revert to

API

GET /api/managed-lakehouse/tables/{tableId}/tags
POST /api/managed-lakehouse/tables/{tableId}/tags
{
  "tagName": "production-2026-Q1",
  "snapshotId": 123456,
  "note": "End of Q1 data freeze"
}
DELETE /api/managed-lakehouse/tables/{tableId}/tags/{name}

Tier Limits

ProfessionalPremiumEnterprise
Branches per table210Unlimited
Tags per table525Unlimited