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
