Sdílet prostřednictvím


Použití SQLAlchemy s Azure Databricks

Azure Databricks poskytuje dialekt SQLAlchemy(systém SQLAlchemy používá ke komunikaci s různými typy implementací a databází databázového rozhraní API) pro Azure Databricks. SQLAlchemy je sada nástrojů SQL Python a mapovač relačních objektů (ORM). SQLAlchemy poskytuje sadu známých vzorů trvalosti na podnikové úrovni, které jsou navržené pro efektivní a vysoce výkonný přístup k databázi přizpůsobené jednoduchému a pythonickému doménovému jazyku. Vizte Funkce a Filozofie.

Aby bylo možné používat funkce SQLAlchemy s Azure Databricks, musí být nainstalovaný dialekt SQLAlchemy pro Azure Databricks. Tento článek se zabývá dialektem SQLAlchemy pro Azure Databricks verze 1.0 a 2.0, který bude založený na konektoru SQL Databricks pro Python verze 4.0.0 nebo vyšší.

Požadavky

  • Vývojový počítač s Pythonem >=3.8 a <=3.11.
  • Databricks doporučuje používat virtuální prostředí Pythonu, například prostředí, která poskytuje venv , která jsou součástí Pythonu. Virtuální prostředí pomáhají zajistit, abyste společně používali správné verze Pythonu a konektor SQL Databricks pro Python. Nastavení a používání virtuálních prostředí je mimo rozsah tohoto článku. Další informace najdete v tématu Vytváření virtuálních prostředí.
  • Existující klastr nebo SQL sklad.

Začínáme

  • Nainstalujte databricks-sqlalchemy pro SQLAlchemy v1 pomocí pip install databricks-sqlalchemy~=1.0 nebo sqlAlchemy v2 pomocí pip install databricks-sqlalchemy. Informace o verzi najdete v historii verzí databricks-sqlalchemy.

  • Shromážděte následující informace pro cluster nebo SQL Warehouse, který chcete použít:

    Klastr

    • Název hostitele serveru clusteru. Hodnotu názvu hostitele serveru můžete získat na kartě Pokročilé možnosti > JDBC/ODBC pro váš cluster.
    • HTTP cesta clusteru. Můžete to získat z hodnoty HTTP Path na kartě Upřesněné možnosti JDBC/ODBC pro váš cluster.

    SQL Warehouse

    • Název hostitele serveru služby SQL Warehouse. Můžete to získat z hodnoty názvu hostitele na záložce Podrobnosti připojení pro vaše SQL datové úložiště.
    • Cesta HTTP služby SQL Warehouse. Můžete to získat z hodnoty HTTP cesta na kartě Podrobnosti připojení pro váš SQL warehouse.

Ověřování

Dialekt SQLAlchemy pro Azure Databricks podporuje ověřování osobního přístupového tokenu Azure Databricks.

Pokud chcete vytvořit osobní přístupový token Azure Databricks, postupujte podle pokynů v tématu Vytvoření osobních přístupových tokenů pro uživatele pracovního prostoru.

K ověření dialektu SQLAlchemy použijte následující fragment kódu. Tento fragment kódu předpokládá, že jste nastavili následující proměnné prostředí:

  • Nastavte DATABRICKS_TOKENna osobní přístupový token Azure Databricks.
  • Nastavte na hodnotu DATABRICKS_SERVER_HOSTNAME hostitele serveru pro váš cluster nebo SQL sklad.
  • DATABRICKS_HTTP_PATH, nastavte hodnotu HTTP cesty pro váš cluster nebo SQL warehouse.
  • DATABRICKS_CATALOG, nastavte na cílový katalog v Unity Catalog.
  • DATABRICKS_SCHEMA, je nastavena na cílové schéma (známé také jako databáze) v katalogu Unity.

Pokud chcete nastavit proměnné prostředí, přečtěte si dokumentaci k vašemu operačnímu systému.

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

# ...

Pomocí předchozí engine proměnné se připojíte ke zadanému katalogu a schématu prostřednictvím výpočetního prostředku Azure Databricks.

SQLAlchemy v1

Příklady připojení najdete v tomto example.py

SQLAlchemy v2

Příklady připojení najdete v následující části a v souboru sqlalchemy_example.py na GitHubu.

Referenční informace k DBAPI

Další materiály