Skip to content

[lake/iceberg] Support multi-bucket-key tables #4069

Open

Description

@qzyu999

Search before asking

  • I searched in the issues and found nothing similar.

Motivation

Fluss supports composite bucket keys (e.g., DISTRIBUTED BY (tenant_id, user_id)). Paimon handles these natively. Iceberg's integration currently throws UnsupportedOperationException for multi-key tables (restriction added in #2499).

Since Fluss already computes the composite hash and stores the result in the __bucket system column, the Iceberg partition spec can use identity(__bucket) for multi-key cases without requiring Iceberg to understand the composite hash.

Solution

Remove the bucketKeys.size() > 1 check in IcebergLakeCatalog.createPartitionSpec(). For multi-key tables, use identity(BUCKET_COLUMN_NAME) partitioning.

Willingness to contribute

  • I'm willing to submit a PR!

Activity

  1. added a commit that references this issue on Aug 25, 2026
    3059884
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions