Skip to content

GH-51143: [Format] Add Parquet FILE canonical extension type - #51248

Open
Mandukhai-Alimaa wants to merge 2 commits into
apache:mainfrom
Mandukhai-Alimaa:mandy/file/format
Open

Mandukhai-Alimaa wants to merge 2 commits into
apache:mainfrom
Mandukhai-Alimaa:mandy/file/format

Conversation

@Mandukhai-Alimaa

@Mandukhai-Alimaa Mandukhai-Alimaa commented Sep 8, 2026 •

Copy link
Copy Markdown

Rationale for this change

As storage formats standardize file-level references, Arrow needs a canonical in-memory representation to preserve these semantics across IPC streams, the C Data Interface, Arrow Flight, and language bindings. Without a canonical extension type, file fields lose their semantic metadata during serialization.

[DISCUSS] thread in the mailing list

What changes are included in this PR?

Proposal and documentation for the arrow.parquet.file canonical extension type.

Are these changes tested?

N/A

Are there any user-facing changes?

Yes, this is an extension to the arrow format.

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown

⚠️ GitHub issue #51143 has been automatically assigned in GitHub to PR creator.

@Mandukhai-Alimaa

Copy link
Copy Markdown
Author

CC: @rok

@github-actions github-actions Bot added the awaiting review Awaiting review label Sep 8, 2026

@wgtmac wgtmac left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think we need to move forward with #50892, which is blocked by this proposal to some extent because we want interoperability.

WDYT? @alamb @emkornfield @mapleFU @pitrou @zeroshade


Extension metadata is an empty string.

Field semantics

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

For this section, should we quote the Parquet spec verbatim with explicit attribution at the start, or keep the current wording and label it as “adapted from the Parquet FILE logical type specification”? Either way, it would help to make the relationship explicit so readers know whether this is a direct quotation or a restatement intended to preserve the same semantics.

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.

unless there is a good reason to restate all the content, I think it should simply point at the Parquet spec

@alamb alamb 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.

Thank you for working on this @Mandukhai-Alimaa

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Format] Define Canonical Extension Type for FILE type

3 participants