Description
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
Recently two new types were added to the Arrow format that make it more suitable for certain types of operations on Lists
Specifically when doing filtering / take with List data, creating a new ListArray
or LargeListArray
requires copying the underlying lists to a new, packed buffer. The "ListView" was designed to solve this limitation and recently added to the Arrow spec.
Describe the solution you'd like
I would like to implement ListViewArray
and LargeListViewArray
following the spec:
The spec: https://arrow.apache.org/docs/format/Columnar.html#listview-layout
Initially, I would suggest we get the basic types in place:
-
DataType
-
Array
implementations and layout and basic construction
Then as follow on PRs, add support to key kernels:
-
cast
(to/from ListAray / LargeListArray) -
filter
-
take
Describe alternatives you've considered
Additional context
This is similar in spirit to the StringViewArray
and BinaryViewArray
described in #5374
Tasks: