You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Neal Richardson (Jira)" <ji...@apache.org> on 2020/06/16 17:34:00 UTC

[jira] [Updated] (ARROW-8867) [R] Support converting POSIXlt type; named lists in general

     [ https://issues.apache.org/jira/browse/ARROW-8867?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Neal Richardson updated ARROW-8867:
-----------------------------------
    Fix Version/s:     (was: 1.0.0)
                   2.0.0

> [R] Support converting POSIXlt type; named lists in general
> -----------------------------------------------------------
>
>                 Key: ARROW-8867
>                 URL: https://issues.apache.org/jira/browse/ARROW-8867
>             Project: Apache Arrow
>          Issue Type: New Feature
>          Components: R
>            Reporter: Neal Richardson
>            Assignee: Romain Francois
>            Priority: Major
>             Fix For: 2.0.0
>
>
> {code:r}
> f <- as.POSIXlt(Sys.time() + 1:5)
> Array$create(f)
> # Error in Array__from_vector(x, type) : 
> #   Unknown: List vector expecting elements vector of type double but got int32
> {code}
> Issue #1: POSIXlt type is a struct, essentially. But because it is not a data.frame, we don't try to convert it to a struct. (We should probably convert named lists to structs and not list type in general.)
> If I trick the converter into thinking it is a data.frame, it will convert to struct successfully.
> {code:r}
> class(f) <- c(class(f), "data.frame")
> Array$create(f)
> # StructArray
> # <struct<sec: double, min: int32, hour: int32, mday: int32, mon: int32, year: int32, wday: int32, yday: int32, isdst: int32, zone: string, gmtoff: int32>>
> # ...
> {code}
> Issue #2: round trip won't work because the attributes that tell you that this struct is a POSIXlt type, what time zone it is, etc., are dropped. This would be helped by storing those attributes as custom_metadata on the Table. (We could also implement it as an extension type, but if it's just for going back and forth between R, would that have any benefit?)



--
This message was sent by Atlassian Jira
(v8.3.4#803005)