Thanks !

On Tue, Oct 26, 2021 at 17:52 Weston Pace <[email protected]> wrote:

> I believe the goal is for it to be supported someday but you are
> correct that it is not supported today.  Please follow
> https://issues.apache.org/jira/browse/ARROW-1888
>
> On Tue, Oct 26, 2021 at 2:49 PM Wenlei Xie <[email protected]> wrote:
> >
> > Hi,
> >
> > I am trying to understand the cast behavior for Arrow Array for nested
> types. For example, PyArrow supports cast from list(int64) to list(int32):
> >
> > >>> import pyarrow as pa
> > >>> a = pa.array([[1, 2], [3, 4, 5]])
> > >>> a.type
> > ListType(list<item: int64>)
> >
> > >>> b = a.cast(pa.list_(pa.int32()))
> > >>> b.type
> > ListType(list<item: int32>)
> >
> >
> > However, it's not supported for struct(int64, int64) to struct(int32,
> int32):
> >
> > >>> a = pa.array( [(1, 2), (3, 4)] , type = pa.struct([('f1',
> pa.int64()) , ('f2', pa.int64()) ] ) )
> > >>> a.type
> > >>> b = a.cast( pa.struct([('f1', pa.int32()) , ('f2', pa.int32()) ] ) )
> > ......
> > pyarrow.lib.pyarrow_internal_check_status
> >   File "pyarrow/error.pxi", line 120, in pyarrow.lib.check_status
> > pyarrow.lib.ArrowNotImplementedError: Unsupported cast from struct<f1:
> int64, f2: int64> to struct using function cast_struct
> >
> >
> > I am asking since both casts are supported in ANSI SQL. I am wondering
> if CAST for struct is designed not supported in PyArrow? Thanks!
> >
> > --
> > Best Regards,
> > Wenlei Xie
> >
> > Email: [email protected]
>
-- 
Sent from Gmail Mobile

Reply via email to