adbcdrivermanager 的目标是为 Arrow 数据库连接 (ADBC) 提供一个低级面向开发人员的接口,用于驱动程序开发、测试以及支持依赖 ADBC 驱动程序的用户界面包。
安装
您可以从 CRAN 安装 adbcdrivermanager 的发布版本:
install.packages("adbcdrivermanager")
您可以从 GitHub 安装 adbcdrivermanager 的开发版本:
# install.packages("pak")
pak::pak("apache/arrow-adbc/r/adbcdrivermanager")
用于 R 的 ADBC 驱动程序使用 pkgbuild 的一个相对较新的功能,允许通过 pak 从 GitHub 安装。根据您安装 pak 的时间,您可能需要更新其 pkgbuild 的内部版本。
install.packages("pkgbuild", pak:::private_lib_dir())
pak::cache_clean()
示例
这是一个基本示例,展示了如何解决一个常见问题。
library(adbcdrivermanager)
# Get a reference to a database using a driver. The adbcdrivermanager package
# contains a few drivers useful for illustration and testing.
db <- adbc_database_init(adbcsqlite::adbcsqlite())
# Open a new connection to a database
con <- adbc_connection_init(db)
# Write a table
nycflights13::flights |> write_adbc(con, "flights")
# Issue a query
con |>
read_adbc("SELECT * from flights") |>
tibble::as_tibble()
#> # A tibble: 336,776 × 19
#> year month day dep_time sched_dep_time dep_delay arr_time sched_arr_time
#> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
#> 1 2013 1 1 517 515 2 830 819
#> 2 2013 1 1 533 529 4 850 830
#> 3 2013 1 1 542 540 2 923 850
#> 4 2013 1 1 544 545 -1 1004 1022
#> 5 2013 1 1 554 600 -6 812 837
#> 6 2013 1 1 554 558 -4 740 728
#> 7 2013 1 1 555 600 -5 913 854
#> 8 2013 1 1 557 600 -3 709 723
#> 9 2013 1 1 557 600 -3 838 846
#> 10 2013 1 1 558 600 -2 753 745
#> # ℹ 336,766 more rows
#> # ℹ 11 more variables: arr_delay <dbl>, carrier <chr>, flight <dbl>,
#> # tailnum <chr>, origin <chr>, dest <chr>, air_time <dbl>, distance <dbl>,
#> # hour <dbl>, minute <dbl>, time_hour <chr>
# Clean up!
adbc_connection_release(con)
adbc_database_release(db)
您还可以使用 adbc_connection_*()
和 adbc_statement_*()
函数在更低级别与驱动程序管理器交互(有关详细信息,请参阅参考文档)。