Skip to content

Conversation

@liamzwbao
Copy link
Contributor

Which issue does this PR close?

Rationale for this change

What changes are included in this PR?

Implement array shredding into List/LargeList/ListView/LargeListView to close the gaps in shred_variant. Part of the changes lay the groundwork for adding variant_get support for list types in a follow-up.

Are these changes tested?

Yes

Are there any user-facing changes?

New shredding types supported

@github-actions github-actions bot added the parquet-variant parquet-variant* crates label Nov 12, 2025
@liamzwbao liamzwbao marked this pull request as ready for review November 12, 2025 23:53
@liamzwbao
Copy link
Contributor Author

Hi @scovich, you might be interested

Comment on lines +286 to +291
enum ArrayVariantToArrowRowBuilder<'a> {
List(VariantToListArrowRowBuilder<'a, i32>),
LargeList(VariantToListArrowRowBuilder<'a, i64>),
ListView(VariantToListViewArrowRowBuilder<'a, i32>),
LargeListView(VariantToListViewArrowRowBuilder<'a, i64>),
}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

We might be able to move this into variant_to_arrow, and variant_get could get the support out of the box. Given the size of this PR, I would do that as a followup.

Copy link
Contributor

Choose a reason for hiding this comment

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

This is great!

@scovich
Copy link
Contributor

scovich commented Nov 17, 2025

Hi @scovich, you might be interested

Definitely interested, but a bit overbooked last week. Hoping I can get to it this week.

# Conflicts:
#	parquet-variant-compute/src/shred_variant.rs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

parquet-variant parquet-variant* crates

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Variant] Support array shredding into List/LargeList/ListView/LargeListView

3 participants