跳至内容

adbcsnowflake 的目标是为 Arrow 数据库连接 (ADBC) Snowflake 驱动程序提供面向开发人员的低级接口。

安装

您可以从 R-multiverse 安装 adbcsnowflake 的已发布版本。

install.packages("adbcsnowflake", repos = "https://community.r-multiverse.org")

您可以从 GitHub 安装 adbcsnowflake 的开发版本。

# install.packages("pak")
pak::pak("apache/arrow-adbc/r/adbcsnowflake")

用于 R 的 ADBC 驱动程序使用 pkgbuild 的一项相对较新的功能,允许通过 pak 从 GitHub 安装。根据您安装 pak 的时间,您可能需要更新其 pkgbuild 的内部版本。

install.packages("pkgbuild", pak:::private_lib_dir())
pak::cache_clean()

示例

这是一个基本示例,展示了如何解决常见问题。有关用作连接值的 uri 值的示例,请参阅 Snowflake 驱动程序文档。还支持单点登录基于浏览器的身份验证。

library(adbcdrivermanager)

# Use the driver manager to connect to a database. This example URI is
# <user>:<pass>@wt78143.<aws region>.aws/SNOWFLAKE_SAMPLE_DATA/TPCH_SF1?role=ACCOUNTADMIN
uri <- Sys.getenv("ADBC_SNOWFLAKE_TEST_URI")
db <- adbc_database_init(adbcsnowflake::adbcsnowflake(), uri = uri)
con <- adbc_connection_init(db)

con |>
  read_adbc("SELECT * FROM REGION ORDER BY R_REGIONKEY") |>
  tibble::as_tibble()
#> # A tibble: 5 × 3
#>   R_REGIONKEY R_NAME      R_COMMENT
#>         <dbl> <chr>       <chr>
#> 1           0 AFRICA      "lar deposits. blithely final packages cajole. regula…
#> 2           1 AMERICA     "hs use ironic, even requests. s"
#> 3           2 ASIA        "ges. thinly even pinto beans ca"
#> 4           3 EUROPE      "ly final courts cajole furiously final excuse"
#> 5           4 MIDDLE EAST "uickly special accounts cajole carefully blithely cl…