Connect to Databricks clusters and SQL warehouses via the Databricks ODBC driver.
In particular, the custom dbConnect()
method for the Databricks ODBC driver
implements a subset of the Databricks client unified authentication
model, with support for personal access tokens, OAuth machine-to-machine
credentials, and OAuth user-to-machine credentials supplied via Posit
Workbench or the Databricks CLI on desktop.
All of these credentials are detected automatically if present using
standard environment variables.
Usage
databricks()
# S4 method for DatabricksOdbcDriver
dbConnect(
drv,
httpPath,
workspace = Sys.getenv("DATABRICKS_HOST"),
useNativeQuery = TRUE,
driver = NULL,
HTTPPath,
uid = NULL,
pwd = NULL,
...
)
Arguments
- drv
an object that inherits from DBIDriver, or an existing DBIConnection object (in order to clone an existing connection).
- httpPath, HTTPPath
To query a cluster, use the HTTP Path value found under
Advanced Options > JDBC/ODBC
in the Databricks UI. For SQL warehouses, this is found underConnection Details
instead.- workspace
The URL of a Databricks workspace, e.g.
"https://example.cloud.databricks.com"
.- useNativeQuery
Suppress the driver's conversion from ANSI SQL 92 to HiveSQL? The default (
TRUE
), gives greater performance but means that paramterised queries (and hencedbWriteTable()
) do not work.- driver
The name of the Databricks ODBC driver, or
NULL
to use the default name.- uid, pwd
Manually specify a username and password for authentication. Specifying these options will disable automated credential discovery.
- ...
Further arguments passed on to
dbConnect()
.
Examples
if (FALSE) {
DBI::dbConnect(
odbc::databricks(),
httpPath = "sql/protocolv1/o/4425955464597947/1026-023828-vn51jugj"
)
}