Skip to content

feat(map-extend): Add ExtendMapUtils infrastructure for columnar-extend MAP storage layout#348

Open
lxy-9602 wants to merge 6 commits into
alibaba:mainfrom
lxy-9602:extend-map-utils
Open

feat(map-extend): Add ExtendMapUtils infrastructure for columnar-extend MAP storage layout#348
lxy-9602 wants to merge 6 commits into
alibaba:mainfrom
lxy-9602:extend-map-utils

Conversation

@lxy-9602

@lxy-9602 lxy-9602 commented Jun 8, 2026

Copy link
Copy Markdown
Collaborator

Purpose

Linked issue: #342

Add infrastructure for columnar-extend MAP storage layout, enabling MAP<STRING, T> columns to be stored as physical STRUCT<__field_mapping, __col_0..K-1, __overflow> for better columnar performance.

Key components:

  • ExtendMapUtils / ExtendMapDefine: Column detection, schema conversion, metadata serialization/deserialization
  • CoreOptions: Per-column config (map-storage-layout, map-extend.max-columns)
  • SchemaValidation: Validate extend layout configuration
  • MapStorageLayout enum

Tests

  • ExtendMapUtilsTest: Roundtrip serialization, schema conversion, column detection, error cases
  • CoreOptionsTest: Layout and max-columns config parsing
  • SchemaValidationTest: Extend layout validation

API and Format

  • New options: fields.<column>.map-storage-layout, fields.<column>.map-extend.max-columns
  • New file footer metadata namespace: paimon.map-extend.* (version 1)

Documentation

Generative AI tooling

Generated-by: Aone Copilot (Claude)

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot encountered an error and was unable to review this pull request. You can try again by re-requesting a review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants