Thanks Joris! Since I use arrow in cpp, the code I’ll need to write won’t be 
very far from a kernel implementation. So I might as well just take this issue 
and add a kernel.

Best,
Jin

> 2022年11月4日 15:19,Joris Van den Bossche <[email protected]> 写道:
> 
> There is currently no kernel available to directly do this, but there is an 
> existing JIRA with a feature request for this: 
> https://issues.apache.org/jira/browse/ARROW-12739 
> <https://issues.apache.org/jira/browse/ARROW-12739>
> 
> For a manual workaround for now, I can only think of a way doing this outside 
> of arrow (for example in Python, you could use plain Python to zip the arrays 
> or use numpy to horizontally stack the arrays in a 2D array of the correct 
> shape, and then use those combined values to create the ListArray).
> 
> Joris
> 
> 
> On Fri, 4 Nov 2022 at 04:25, Jin Shang <[email protected] 
> <mailto:[email protected]>> wrote:
> Hi,
> 
> Suppose I have several arrays of the same type T with the same length N. I 
> would like to concatenate them to an array of type List<T> (or perhaps 
> FixedSizeList<T, N> for better performance).
> 
> For example,Input T = int32, [1, 2, 3], [4, 5, 6], [7, 8, 9] will have output 
> List<int32> of size 3: [[1, 4, 7], [2, 5, 8], [3, 6, 9]].
> 
> T can also be a nested type like T = List<int32> [[1, 2, 3], [4]] and [[5], 
> [6, 7, 8, 9]] with output List<List<int32>> of size 2: [[[1, 2, 3], [5]], 
> [[4], [6, 7, 8, 9]]].
> 
> Conceptually, I want to “squeeze” multiple columns of a table to a single 
> column of List type.
> 
> Is there an existing utility function or compute kernel that does this?
> 
> Thanks,
> Jin

Reply via email to