Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Azure Databricks bietet einen SQLAlchemy-Dialekt (das System SQLAlchemy verwendet diesen, um mit verschiedenen Arten von Datenbank-API-Implementierungen und Datenbanken zu kommunizieren) für Azure Databricks. SQLAlchemy ist ein Python SQL-Toolkit und Object Relational Mapper (ORM). SQLAlchemy bietet eine Reihe bekannter Persistenzmuster auf Unternehmensniveau, die für einen effizienten und leistungsstarken Datenbankzugriff entwickelt wurden, angepasst an eine einfache und pythonische Domänensprache. Siehe Funktionen und Philosophie.
Der SQLAlchemy-Dialekt für Azure Databricks muss installiert werden, um die SQLAlchemy-Features mit Azure Databricks zu verwenden. In diesem Artikel wird der SQLAlchemy-Dialekt für Azure Databricks, Version 1.0 und 2.0, behandelt, der auf Databricks SQL Connector für Python Version 4.0.0 oder höher basiert.
Anforderungen
- Ein Entwicklungscomputer mit Python >=3.8 und <=3.11.
- Databricks empfiehlt die Verwendung von virtuellen Python-Umgebungen, etwa denen, die von venv bereitgestellt werden und in Python enthalten sind. Mithilfe virtueller Umgebungen kann sichergestellt werden, dass Sie die richtigen Versionen von Python und des Databricks SQL-Connectors für Python zusammen verwenden. Einrichtung und Verwendung virtueller Umgebungen werden in diesem Artikel nicht behandelt. Weitere Informationen finden Sie unter Erstellen virtueller Umgebungen.
- Ein vorhandener Cluster oder vorhandenes SQL-Warehouse.
Erste Schritte
Installieren Sie databricks-sqlalchemy für SQLAlchemy v1 mit
pip install databricks-sqlalchemy~=1.0
oder für SQLAlchemy v2 mitpip install databricks-sqlalchemy
. Versionsinformationen finden Sie im Releaseverlauf von databricks-sqlalchemy.Sammeln Sie die folgenden Informationen über den Cluster oder das SQL-Warehouse, den oder das Sie verwenden möchten:
Kluster
- Den Serverhostnamen des Clusters. Diesen können Sie dem Wert Serverhostname auf der Registerkarte Erweiterte Optionen > JDBC/ODBC für Ihren Cluster entnehmen.
- Den HTTP-Pfad des Clusters. Diesen finden Sie im Wert HTTP-Pfad auf der Registerkarte Erweiterte Optionen > JDBC/ODBC für Ihren Cluster.
SQL-Warehouse
- Den Serverhostnamen des SQL-Warehouses. Sie finden diesen im Wert Serverhostname auf der Registerkarte Verbindungsdetails für Ihr SQL-Warehouse.
- Den HTTP-Pfad des SQL-Warehouses. Sie finden diesen im Wert HTTP-Pfad auf der Registerkarte Verbindungsdetails für Ihr SQL-Warehouse.
Authentifizierung
Der SQLAlchemy-Dialekt für Azure Databricks unterstützt die Authentifizierung mit persönlichen Zugriffstoken von Azure Databricks.
Führen Sie zum Erstellen eines persönlichen Azure Databricks-Zugriffstokens die Schritte in Azure Databricks persönliche Zugriffstoken für Arbeitsbereichsbenutzer aus.
Verwenden Sie den folgenden Codeschnipsel, um den SQLAlchemy-Dialekt zu authentifizieren. Bei diesem Codeschnipsel wird davon ausgegangen, dass Sie die folgenden Umgebungsvariablen festgelegt haben:
-
DATABRICKS_TOKEN
ist auf das persönliche Azure Databricks-Zugriffstoken festgelegt. -
DATABRICKS_SERVER_HOSTNAME
auf den Wert für den Server-Hostnamen Ihres Clusters oder SQL-Warehouses gesetzt. -
DATABRICKS_HTTP_PATH
ist auf den Wert von HTTP-Pfad für Ihren Cluster oder Ihr SQL-Warehouse festgelegt. -
DATABRICKS_CATALOG
, auf den Zielkatalog in Unity Catalog festgelegt. -
DATABRICKS_SCHEMA
, auf das Zielschema (auch Datenbank genannt) in Unity Catalog festgelegt.
Informationen zum Festlegen von Umgebungsvariablen finden Sie in der Dokumentation Ihres Betriebssystems.
import os
from sqlalchemy import create_engine
access_token = os.getenv("DATABRICKS_TOKEN")
server_hostname = os.getenv("DATABRICKS_SERVER_HOSTNAME")
http_path = os.getenv("DATABRICKS_HTTP_PATH")
catalog = os.getenv("DATABRICKS_CATALOG")
schema = os.getenv("DATABRICKS_SCHEMA")
engine = create_engine(
url = f"databricks://token:{access_token}@{server_hostname}?" +
f"http_path={http_path}&catalog={catalog}&schema={schema}"
)
# ...
Sie verwenden die vorangehende engine
-Variable, um über Ihre Azure Databricks-Computeressource eine Verbindung mit Ihrem angegebenen Katalog und Schema herzustellen.
SQLAlchemy v1
Informationen zu Verbindungsbeispielen finden Sie in diesem example.py
SQLAlchemy v2
Verbindungsbeispiele finden Sie im folgenden Abschnitt und in der datei sqlalchemy_example.py in GitHub.
DBAPI-Referenz
- GitHub-Repository databricks-sqlalchemy v1
- SQLAlchemy v1 README.md
- GitHub-Repository databricks-sqlalchemy v2
- SQLAlchemy v2 README.md