用法
to_duckdb(
.data,
con = arrow_duck_connection(),
table_name = unique_arrow_tablename(),
auto_disconnect = TRUE
)
细节
结果是一个与 dbplyr 兼容的对象,可用于 d(b)plyr 管道。
如果 auto_disconnect = TRUE
,则创建的 DuckDB 表将被配置为在 tbl
对象被垃圾回收时取消注册。如果您在使用完它们后不想在 DuckDB 中保留额外的表对象,这将很有用。
示例
library(dplyr)
ds <- InMemoryDataset$create(mtcars)
ds %>%
filter(mpg < 30) %>%
group_by(cyl) %>%
to_duckdb() %>%
slice_min(disp)
#> # Source: SQL [5 x 11]
#> # Database: DuckDB v1.1.0 [unknown@Linux 6.5.0-1025-azure:R 4.4.1/:memory:]
#> # Groups: cyl
#> mpg cyl disp hp drat wt qsec vs am gear carb
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 16.4 8 276. 180 3.07 4.07 17.4 0 0 3 3
#> 2 17.3 8 276. 180 3.07 3.73 17.6 0 0 3 3
#> 3 15.2 8 276. 180 3.07 3.78 18 0 0 3 3
#> 4 27.3 4 79 66 4.08 1.94 18.9 1 1 4 1
#> 5 19.7 6 145 175 3.62 2.77 15.5 0 1 5 6