[
https://issues.apache.org/jira/browse/ARROW-17885?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kirill Müller updated ARROW-17885:
----------------------------------
Description:
BLOBs should be mapped to lists of raw in R, not lists of integer. Tested with
ec714db3995549309b987fc8112db98bb93102d0.
{{
library(arrow)
#> Some features are not enabled in this build of Arrow. Run `arrow_info()` for
more information.
#>
#> Attaching package: 'arrow'
#> The following object is masked from 'package:utils':
#>
#> timestamp
data <- data.frame(
a = 1:3,
b = 2.5,
c = "three",
stringsAsFactors = FALSE
)
data$d <- blob::blob(as.raw(1:10))
tbl <- arrow::as_arrow_table(data)
rbr <- arrow::as_record_batch_reader(tbl)
waldo::compare(as.data.frame(rbr$read_next_batch()), data)
#> `old$d[[1]]` is an integer vector (1, 2, 3, 4, 5, ...)
#> `new$d[[1]]` is a raw vector (01, 02, 03, 04, 05, ...)
#>
#> `old$d[[2]]` is an integer vector (1, 2, 3, 4, 5, ...)
#> `new$d[[2]]` is a raw vector (01, 02, 03, 04, 05, ...)
#>
#> `old$d[[3]]` is an integer vector (1, 2, 3, 4, 5, ...)
#> `new$d[[3]]` is a raw vector (01, 02, 03, 04, 05, ...)
}}
was:
BLOBs should be mapped to lists of raw in R, not lists of integer. Tested with
ec714db3995549309b987fc8112db98bb93102d0.
``` r
library(arrow)
#> Some features are not enabled in this build of Arrow. Run `arrow_info()` for
more information.
#>
#> Attaching package: 'arrow'
#> The following object is masked from 'package:utils':
#>
#> timestamp
data <- data.frame(
a = 1:3,
b = 2.5,
c = "three",
stringsAsFactors = FALSE
)
data$d <- blob::blob(as.raw(1:10))
tbl <- arrow::as_arrow_table(data)
rbr <- arrow::as_record_batch_reader(tbl)
waldo::compare(as.data.frame(rbr$read_next_batch()), data)
#> `old$d[[1]]` is an integer vector (1, 2, 3, 4, 5, ...)
#> `new$d[[1]]` is a raw vector (01, 02, 03, 04, 05, ...)
#>
#> `old$d[[2]]` is an integer vector (1, 2, 3, 4, 5, ...)
#> `new$d[[2]]` is a raw vector (01, 02, 03, 04, 05, ...)
#>
#> `old$d[[3]]` is an integer vector (1, 2, 3, 4, 5, ...)
#> `new$d[[3]]` is a raw vector (01, 02, 03, 04, 05, ...)
```
<sup>Created on 2022-09-29 with [reprex
v2.0.2](https://reprex.tidyverse.org)</sup>
> [R] Return BLOB data as list of raw instead of a list of integers
> -----------------------------------------------------------------
>
> Key: ARROW-17885
> URL: https://issues.apache.org/jira/browse/ARROW-17885
> Project: Apache Arrow
> Issue Type: Bug
> Components: R
> Affects Versions: 10.0.0, 9.0.1
> Environment: macOS, R 4.1.3
> Reporter: Kirill Müller
> Priority: Minor
>
> BLOBs should be mapped to lists of raw in R, not lists of integer. Tested
> with ec714db3995549309b987fc8112db98bb93102d0.
> {{
> library(arrow)
> #> Some features are not enabled in this build of Arrow. Run `arrow_info()`
> for more information.
> #>
> #> Attaching package: 'arrow'
> #> The following object is masked from 'package:utils':
> #>
> #> timestamp
> data <- data.frame(
> a = 1:3,
> b = 2.5,
> c = "three",
> stringsAsFactors = FALSE
> )
> data$d <- blob::blob(as.raw(1:10))
> tbl <- arrow::as_arrow_table(data)
> rbr <- arrow::as_record_batch_reader(tbl)
> waldo::compare(as.data.frame(rbr$read_next_batch()), data)
> #> `old$d[[1]]` is an integer vector (1, 2, 3, 4, 5, ...)
> #> `new$d[[1]]` is a raw vector (01, 02, 03, 04, 05, ...)
> #>
> #> `old$d[[2]]` is an integer vector (1, 2, 3, 4, 5, ...)
> #> `new$d[[2]]` is a raw vector (01, 02, 03, 04, 05, ...)
> #>
> #> `old$d[[3]]` is an integer vector (1, 2, 3, 4, 5, ...)
> #> `new$d[[3]]` is a raw vector (01, 02, 03, 04, 05, ...)
> }}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)