Repository navigation
GH-51143: [Format] Add Parquet FILE canonical extension type - #51248
Mandukhai-Alimaa wants to merge 7 commits into
Conversation
|
|
|
CC: @rok |
8010628 to
60aecdb
Compare
|
|
||
| Extension metadata is an empty string. | ||
|
|
||
| Field semantics |
There was a problem hiding this comment.
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.
There was a problem hiding this comment.
unless there is a good reason to restate all the content, I think it should simply point at the Parquet spec
alamb
left a comment
There was a problem hiding this comment.
Thank you for working on this @Mandukhai-Alimaa
|
Thanks for the feedback. I’ve removed the duplicated text and linked to the Parquet FILE spec instead. |
rok
left a comment
There was a problem hiding this comment.
Thanks for working on this @Mandukhai-Alimaa! (and appologies for my slowness).
No form comments, only one on semantics.
Co-authored-by: Rok Mihevc <rok@mihevc.org>
| point for the relative path, an extension type will not carry no such | ||
| information. |
There was a problem hiding this comment.
| point for the relative path, an extension type will not carry no such | |
| information. | |
| point for the relative path, an extension type will not carry such information. |
I guess here is a typo.
There was a problem hiding this comment.
@HuaHuaY how do you feel about the relative path handling proposed here? It was my suggestion, but I'm not entirely happy with it.
There was a problem hiding this comment.
@rok Given that a service might receive Arrow RecordBatch data, I think the interpretation of the fields should be left to the service's developers. Arrow itself does not need to understand the content of the data. But if I understand correctly, Parquet itself does not know how to read the content by the URI either. So I’m not sure we need to explicitly state this constraint, and I think it may be already inherent in the Parquet standard.
There was a problem hiding this comment.
Parquet itself does not know how to read the content by the URI either.
Agreed! Parquet (intentionally) doesn't say much about about relative URIs, so this is implicitly up to the application. I'll propose a new wording to better describe parquet here. Sorry for the back and forth @Mandukhai-Alimaa !
Co-authored-by: Zehua Zou <zehuazou2000@gmail.com>
Co-authored-by: Rok Mihevc <rok@mihevc.org>
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.filecanonical extension type.Are these changes tested?
N/A
Are there any user-facing changes?
Yes, this is an extension to the arrow format.