Skip to content

[Feature Request] Add support for excluding columns in DeltaTable.merge #4359

@OfraBaruch

Description

@OfraBaruch

Feature request

Which Delta project/connector is this regarding?

  • Spark
  • Standalone
  • Flink
  • Kernel
  • Other (fill in here)

Overview

Add support for excluding columns from the update and/or insert clauses in DeltaTable.merge. This feature is already available in delta-rs and enables cleaner, more maintainable merge statements by allowing users to skip certain columns from being updated or inserted during a merge operation.

Motivation

Currently, users must explicitly specify the update and insert expressions, listing all desired columns manually, which can be verbose and error-prone — especially in wide tables.

By adding support for excluding columns, we can simplify the API and make merge logic easier to write and maintain. This feature would benefit data engineers and data scientists working with complex schemas or CDC pipelines.

Further details

The delta-rs project introduced this functionality in delta-rs#2833, allowing users to specify columns to exclude from updates and inserts. A similar design could be applied in the Scala API.

Willingness to contribute

The Delta Lake Community encourages new feature contributions. Would you or another member of your organization be willing to contribute an implementation of this feature?

  • Yes. I can contribute this feature independently.
  • Yes. I would be willing to contribute this feature with guidance from the Delta Lake community.
  • No. I cannot contribute this feature at this time.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions