GH-35304: [C++][ORC] Support attributes conversion#35499
Conversation
|
@Fokko Could you please take a look? Thanks! |
Fokko
left a comment
There was a problem hiding this comment.
As far as my C++ skills go, this looks good. I think this PR is a good start, the next step would be to expose this in Python as well.
|
Thanks @Fokko! Actually I didn't add any new API. Therefore |
|
Thanks @pitrou! Welcome back! |
Yes, that should be the case |
|
Benchmark runs are scheduled for baseline = cfcff49 and contender = 4fd5c28. 4fd5c28 is a master commit associated with this PR. Results will be available as each benchmark for each run completes. |
|
Great work @wgtmac and thanks @jorisvandenbossche for the clarification on the Python side, I'll give it a try! |
### Rationale for this change Apache Orc has a per column attribute map and Apache Iceberg depends on this to encode its field metadata. However, the C++ Orc adapter does not know it which makes it difficult to support pyarrow and pyiceberg. ### What changes are included in this PR? Both reader and writer support Orc attributes conversion from/to arrow field metadata. ### Are these changes tested? Added two test cases to make sure the Orc adapter can preserve the attributes well. ### Are there any user-facing changes? No. * Closes: apache#35304 Authored-by: Gang Wu <ustcwg@gmail.com> Signed-off-by: Antoine Pitrou <antoine@python.org>
Rationale for this change
Apache Orc has a per column attribute map and Apache Iceberg depends on this to encode its field metadata. However, the C++ Orc adapter does not know it which makes it difficult to support pyarrow and pyiceberg.
What changes are included in this PR?
Both reader and writer support Orc attributes conversion from/to arrow field metadata.
Are these changes tested?
Added two test cases to make sure the Orc adapter can preserve the attributes well.
Are there any user-facing changes?
No.