Delen via


SQLAlchemy gebruiken met Azure Databricks

Azure Databricks biedt een SQLAlchemy-dialect (het systeem dat SQLAlchemy gebruikt om te communiceren met verschillende typen database-API-implementaties en -databases) voor Azure Databricks. SQLAlchemy is een Python SQL-toolkit en Object Relational Mapper (ORM). SQLAlchemy biedt een reeks bekende persistentiepatronen op ondernemingsniveau, ontworpen voor efficiënte en krachtige databasetoegang, aangepast in een eenvoudige en Pythonische domeintaal. Zie Functies en filosofie.

Het SQLAlchemy-dialect voor Azure Databricks moet worden geïnstalleerd om de SQLAlchemy-functies te kunnen gebruiken met Azure Databricks. In dit artikel wordt het SQLAlchemy-dialect voor Azure Databricks versie 1.0 en 2.0 behandeld. Dit is gebaseerd op Databricks SQL Connector voor Python versie 4.0.0 of hoger.

Vereisten

  • Een ontwikkelcomputer met Python >=3.8 en <=3.11.
  • Databricks raadt u aan om virtuele Python-omgevingen te gebruiken, zoals die worden geleverd door venv die zijn opgenomen in Python. Virtuele omgevingen helpen ervoor te zorgen dat u de juiste versies van Python en de Databricks SQL Connector voor Python samen gebruikt. Het instellen en gebruiken van virtuele omgevingen valt buiten het bereik van dit artikel. Zie Virtuele omgevingen maken voor meer informatie.
  • Een bestaand cluster of SQL-magazijn.

Aan de slag

  • Installeer databricks-sqlalchemy voor SQLAlchemy v1 met behulp van pip install databricks-sqlalchemy~=1.0 of voor SQLAlchemy v2 met behulp van pip install databricks-sqlalchemy. Zie de releasegeschiedenis van databricks-sqlalchemyvoor versie-informatie.

  • Verzamel de volgende informatie voor het cluster of SQL Warehouse dat u wilt gebruiken:

    Cluster

    SQL Warehouse

    • De hostnaam van de server van het SQL-warehouse. U kunt dit ophalen uit de serverhostnaam waarde op het tabblad Verbindingsdetails voor uw SQL-warehouse.
    • Het HTTP-pad van het SQL-warehouse. U kunt dit ophalen uit het HTTP-pad waarde op het tabblad Verbindingsgegevens voor uw SQL-warehouse.

Verificatie

Het SQLAlchemy-dialect voor Azure Databricks ondersteunt verificatie van persoonlijke toegangstokens van Azure Databricks.

Als u een persoonlijk toegangstoken voor Azure Databricks wilt maken, volgt u de stappen in persoonlijke toegangstokens van Azure Databricks voor werkruimtegebruikers.

Gebruik het volgende codefragment om het SQLAlchemy-dialect te verifiëren. In dit fragment wordt ervan uitgegaan dat u de volgende omgevingsvariabelen hebt ingesteld:

  • DATABRICKS_TOKENinstellen op de persoonlijke toegangstoken van Azure Databricks.
  • DATABRICKS_SERVER_HOSTNAMEingesteld op de Server-hostnaam waarde voor uw cluster of SQL Warehouse.
  • DATABRICKS_HTTP_PATH, ingesteld op HTTP-pad waarde voor uw cluster of SQL warehouse.
  • DATABRICKS_CATALOG, ingesteld op de doelcatalogus in Unity Catalog.
  • DATABRICKS_SCHEMA, ingesteld op het doelschema (ook wel een database genoemd) in Unity Catalog.

Als u omgevingsvariabelen wilt instellen, raadpleegt u de documentatie van uw besturingssysteem.

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}"
)

# ...

U gebruikt de voorgaande engine variabele om verbinding te maken met uw opgegeven catalogus en schema via uw Azure Databricks-rekenresource.

SQLAlchemy v1

Raadpleeg deze example.py voor verbindingsvoorbeelden

SQLAlchemy v2

Zie de volgende sectie en het sqlalchemy_example.py-bestand in GitHub voor verbindingsvoorbeelden.

DBAPI-verwijzing

Aanvullende bronnen