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…
# Clean up
adbc_connection_release(con)
adbc_database_release(db)