- Notifications
You must be signed in to change notification settings - Fork126
Databricks SQL Connector for Python
License
databricks/databricks-sql-python
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
The Databricks SQL Connector for Python allows you to develop Python applications that connect to Databricks clusters and SQL warehouses. It is a Thrift-based client with no dependencies on ODBC or JDBC. It conforms to thePython DB API 2.0 specification and exposes aSQLAlchemy dialect for use with tools likepandas andalembic which use SQLAlchemy to execute DDL. Usepip install databricks-sql-connector[sqlalchemy] to install with SQLAlchemy's dependencies.pip install databricks-sql-connector[alembic] will install alembic's dependencies.
This connector uses Arrow as the data-exchange format, and supports APIs to directly fetch Arrow tables. Arrow tables are wrapped in theArrowQueue class to provide a natural API to get several rows at a time.
You are welcome to file an issue here for general use cases. You can also contact Databricks Supporthere.
Python 3.8 or above is required.
For the latest documentation, see
Install the library withpip install databricks-sql-connector
export DATABRICKS_HOST=********.databricks.comexport DATABRICKS_HTTP_PATH=/sql/1.0/endpoints/****************
Example usage:
importosfromdatabricksimportsqlhost=os.getenv("DATABRICKS_HOST")http_path=os.getenv("DATABRICKS_HTTP_PATH")connection=sql.connect(server_hostname=host,http_path=http_path)cursor=connection.cursor()cursor.execute('SELECT :param `p`, * FROM RANGE(10)', {"param":"foo"})result=cursor.fetchall()forrowinresult:print(row)cursor.close()connection.close()
In the above example:
server-hostnameis the Databricks instance host name.http-pathis the HTTP Path either to a Databricks SQL endpoint (e.g. /sql/1.0/endpoints/1234567890abcdef),or to a Databricks Runtime interactive cluster (e.g. /sql/protocolv1/o/1234567890123456/1234-123456-slid123)
Note: This example usesDatabricks OAuth U2Mto authenticate the target Databricks user account and needs to open the browser for authentication. So itcan only run on the user's machine.
About
Databricks SQL Connector for Python
Topics
Resources
License
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Uh oh!
There was an error while loading.Please reload this page.