Skip to content

feat: Support roundtrip ListView in parquet arrow writer#9352

Open
codephage2020 wants to merge 15 commits intoapache:mainfrom
codephage2020:issue-9344
Open

feat: Support roundtrip ListView in parquet arrow writer#9352
codephage2020 wants to merge 15 commits intoapache:mainfrom
codephage2020:issue-9344

Conversation

@codephage2020
Copy link
Contributor

Which issue does this PR close?

Rationale for this change

This PR implements support for roundtrip reading and writing of ListView and LargeListView types in Parquet Arrow integration.

What changes are included in this PR?

  • Handle ListView/LargeListView in Arrow ↔ Parquet schema conversion
  • Reader/Writer support
  • Added some tests

Are these changes tested?

YES

Are there any user-facing changes?

Users can now write and read ListView/LargeListView arrays to/from Parquet files

Support roundtrip ListView in parquet arrow writer
@github-actions github-actions bot added the parquet Changes to the parquet crate label Feb 4, 2026
…tch arm

simplifying the code while preserving existing behavior.
Consolidate handling of DataType::List, LargeList, ListView, and LargeListView into a single build_list_reader flow.
This assumes the inner reader always returns a GenericListArray and simplifies error handling.
Support roundtrip ListView in parquet arrow writer
…tch arm

simplifying the code while preserving existing behavior.
Consolidate handling of DataType::List, LargeList, ListView, and LargeListView into a single build_list_reader flow.
This assumes the inner reader always returns a GenericListArray and simplifies error handling.
@codephage2020 codephage2020 marked this pull request as ready for review February 6, 2026 01:02
@codephage2020
Copy link
Contributor Author

CC @alamb @Jefffrey

.expect("ListViewArrayReader: inner reader must return GenericListArray");

let list_view_array =
Arc::new(GenericListViewArray::<OffsetSize>::from(list_array.clone()));
Copy link
Contributor

Choose a reason for hiding this comment

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

I suppose this is the easiest way to do this for now; maybe in followup we can explore ways to read directly into listview without going through a listarray, if there is potential performance benefit 👍

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

Labels

parquet Changes to the parquet crate

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Support roundtrip ListView in parquet arrow writer

2 participants