跳转至内容

这可以在 Arrow 和 DuckDB 之间来回传递数据的管道中使用。

用法

to_arrow(.data)

参数

.data

要转换的对象

一个 RecordBatchReader

详情

请注意,您只能在此函数的结果上调用 collect()compute() 一次。要解决此限制,您应该只在管道的最后一步调用 collect(),或者在结果上调用 as_arrow_table() 以将整个表物化到内存中。

示例

library(dplyr)

ds <- InMemoryDataset$create(mtcars)

ds %>%
  filter(mpg < 30) %>%
  to_duckdb() %>%
  group_by(cyl) %>%
  summarize(mean_mpg = mean(mpg, na.rm = TRUE)) %>%
  to_arrow() %>%
  collect()
#> # A tibble: 3 x 2
#>     cyl mean_mpg
#>   <dbl>    <dbl>
#> 1     6     19.7
#> 2     8     15.1
#> 3     4     23.7