SnowflakeConnector: An R6 Snowflake ODBC helper
SnowflakeConnector.Rd
SnowflakeConnector
encapsulates a Snowflake ODBC connection with:
Safe SQL interpolation via
glue::glue_sql()
bound to the connectionQuery history tracking (
run_query_history
)data.table::setattr
lineage under"snowflake-sources"
Simple transactions (
$transaction_begin/commit/rollback
)Simple writes (
$write_data
)
Credentials are expected to be provided by your DSN and/or the constructor
arguments (uid
, pwd
, etc.). This package does not read YAML files.
Public fields
- connection
The live DBI ODBC connection object.
- run_query_history
data.table
with columnsquery
andresult
.
Public fields
connection
The live DBI ODBC connection object.
run_query_history
data.table
with columnsquery
andresult
.
Methods
Method new()
Construct a new connector (opens a connection).
Usage
SnowflakeConnector$new(
dsn,
uid = NULL,
pwd = NULL,
database = NULL,
schema = NULL,
role = NULL,
warehouse = NULL,
timezone = Sys.timezone(),
timezone_out = Sys.timezone(),
...
)
Arguments
dsn
ODBC DSN name.
uid
Optional user id (overrides DSN).
pwd
Optional password (overrides DSN).
database
Optional default database.
schema
Optional default schema.
role
Optional default role.
warehouse
Optional default warehouse.
timezone
Server timezone for the connection. Defaults to
Sys.timezone()
.timezone_out
Timezone for datetimes returned to R. Defaults to
Sys.timezone()
....
Additional arguments passed to
DBI::dbConnect()
.
Method run_query()
Execute a SELECT and return a data.table
(with lineage attribute).
Usage
SnowflakeConnector$run_query(
SQL,
literal = FALSE,
glue_envir = parent.frame(1L)
)
Method write_data()
Write a data.frame / data.table into Snowflake.
Arguments
table
Target table name (
character
) orDBI::Id
.value
Data to write (
data.frame
/data.table
)....
Passed to
DBI::dbWriteTable()
(e.g.,append = TRUE
,overwrite = TRUE
).