跳至内容

这可用于在 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