Skip to content

Implement Array Decoding in arrow-avro #7559

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

jecsand838
Copy link
Contributor

Which issue does this PR close?

Part of #4886

Related to #6965

Rationale for this change

Avro supports arrays as a core data type, but previously arrow-avro had incomplete decoding logic to handle them. As a result, any Avro file containing array fields would fail to parse correctly within the Arrow ecosystem. This PR addresses this gap by:

  1. Completing the implementation of explicit Array -> List decoding: It completes the Decoder::Array logic that reads array blocks in Avro format and constructs an Arrow ListArray.

Overall, these changes expand Arrow’s Avro reader capabilities, allowing users to work with array-encoded data in a standardized Arrow format.

What changes are included in this PR?

1. arrow-avro/src/reader/record.rs:

  • Completed the Array decoding path which leverages blockwise reads of Avro array data.
  • Implemented decoder unit tests for Array types.

Are there any user-facing changes?

N/A

@github-actions github-actions bot added the arrow Changes to the arrow crate label May 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
arrow Changes to the arrow crate
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant