View source: R/driver-databricks.R
| databricks | R Documentation |
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 variant of Databricks's unified authentication
model when no uid or pwd is supplied, checking for ambient credentials in
the following order:
Viewer-based or service principal credentials supplied by Posit Connect (requires the connectcreds package).
Personal access tokens.
Workload identity federation.
OAuth machine-to-machine credentials.
OAuth user-to-machine credentials suplied via Posit Workbench or the Databricks CLI on desktop.
This aims to provide broad compatibility between odbc and the standard environment variables used by Databricks SDKs in R and other languages.
In addition, on macOS platforms, the dbConnect() method will check
for irregularities with how the driver is configured,
and attempt to fix in-situ, unless the odbc.no_config_override
environment variable is set.
databricks()
## S4 method for signature 'DatabricksOdbcDriver'
dbConnect(
drv,
httpPath,
workspace = Sys.getenv("DATABRICKS_HOST"),
useNativeQuery = TRUE,
driver = NULL,
HTTPPath,
uid = NULL,
pwd = NULL,
...
)
drv |
an object that inherits from DBI::DBIDriver, or an existing DBI::DBIConnection object (in order to clone an existing connection). |
httpPath, HTTPPath |
To query a cluster, use the HTTP Path value found
under |
workspace |
The URL of a Databricks workspace, e.g.
|
useNativeQuery |
Suppress the driver's conversion from ANSI SQL 92 to
HiveSQL? The default ( |
driver |
The name of the Databricks ODBC driver, or |
uid, pwd |
Manually specify a username and password for authentication. Specifying these options will disable automated credential discovery. |
... |
Further arguments passed on to |
An OdbcConnection object with an active connection to a Databricks
cluster or SQL warehouse.
## Not run:
DBI::dbConnect(
odbc::databricks(),
httpPath = "sql/protocolv1/o/4425955464597947/1026-023828-vn51jugj"
)
# Use credentials from the viewer or a service principal (when possible) in
# a Shiny app deployed to Posit Connect.
library(connectcreds)
server <- function(input, output, session) {
conn <- DBI::dbConnect(
odbc::databricks(),
workspace = "https://example.cloud.databricks.com",
httpPath = "sql/protocolv1/o/4425955464597947/1026-023828-vn51jugj"
)
}
## End(Not run)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.