Megosztás a következőn keresztül:


Az SQLAlchemy használata az Azure Databricks használatával

Az Azure Databricks egy SQLAlchemydialektust biztosít (az SQLAlchemy a különböző típusú adatbázis API-implementációkkal és adatbázisokkal való kommunikációhoz) az Azure Databricks számára. Az SQLAlchemy egy Python SQL-eszközkészlet és objektumrelációs mapper (ORM). Az SQLAlchemy jól ismert, nagyvállalati szintű adatmegőrzési mintákat biztosít, amelyek hatékony és nagy teljesítményű adatbázis-hozzáféréshez lettek kialakítva, egyszerű és Python-tartománynyelvhez igazítva. Lásd: Funkciók és filozófia.

Az Azure Databricks SQLAlchemy-dialektusát telepíteni kell az SQLAlchemy funkcióinak az Azure Databricksben való használatához. Ez a cikk az Azure Databricks 1.0-s és 2.0-s verziójának SQLAlchemy dialektusát ismerteti, amely a Python 4.0.0-s vagy újabb verzióján alapuló Databricks SQL Connectoron alapul.

Követelmények

  • Python >=3.8 és <=3.11 rendszerű fejlesztőgép.
  • A Databricks azt javasolja, hogy pythonos virtuális környezeteket használjon, például a Python részét képező venv által biztosítottakat. A virtuális környezetek segítségével biztosítható, hogy a Python és a Databricks SQL Connector for Python megfelelő verzióit használja együtt. A virtuális környezetek beállítása és használata a jelen cikk hatókörén kívül esik. További információ: Virtuális környezetek létrehozása.
  • Meglévő fürt vagy SQL Warehouse.

Induláshoz

  • Telepítse a databricks-sqlalchemyt az SQLAlchemy v1-hez a pip install databricks-sqlalchemy~=1.0 használatával vagy az SQLAlchemy v2-höz a pip install databricks-sqlalchemyhasználatával. A verzióval kapcsolatos információkért lásd a databricks-sqlalchemy kiadási előzményeit.

  • Gyűjtse össze a használni kívánt fürtre vagy SQL Warehouse-ra vonatkozó alábbi információkat:

    Fürt

    • A fürt kiszolgálói állomásneve. Ezt a kiszolgáló gazdagépneve értékéből szerezheti be a fürt speciális beállítások > JDBC/ODBC fülén.
    • A fürt HTTP-elérési útja. Ezt a > lapon található HTTP-elérési út értékéből szerezheti be.

    SQL Warehouse

    • Az SQL Warehouse kiszolgálói állomásneve. Ezt az SQL Warehouse Kapcsolat részletei lapján található Kiszolgáló állomásnév értékéből szerezheti be.
    • Az SQL Warehouse HTTP-elérési útja. Ezt az SQL Warehouse Kapcsolat részletei lapján található HTTP-elérési út értékéből szerezheti be.

Hitelesítés

Az Azure Databricks SQLAlchemy dialektusa támogatja az Azure Databricks személyes hozzáférési jogkivonat-hitelesítését.

Azure Databricks személyes hozzáférési jogkivonat létrehozásához kövesse az Azure Databricks személyes hozzáférési jogkivonatainak lépéseit a munkaterület felhasználói számára.

Az SQLAlchemy dialektus hitelesítéséhez használja az alábbi kódrészletet. Ez a kódrészlet feltételezi, hogy a következő környezeti változókat állította be:

  • DATABRICKS_TOKEN, állítsa be az Azure Databricks személyes hozzáférési tokenre.
  • Állítsa be a DATABRICKS_SERVER_HOSTNAMEkomponenst a szerver hosztnév értékére a fürt vagy az SQL tárház számára.
  • DATABRICKS_HTTP_PATH, állítsa be HTTP-elérési út értékét a fürt vagy SQL-adattárház számára.
  • A DATABRICKS_CATALOG-t állítsa be a célkatalógusra a Unity Catalogban.
  • DATABRICKS_SCHEMA, állítsa be a célséma (más néven adatbázis) a Unity Catalogban.

A környezeti változók beállításához tekintse meg az operációs rendszer dokumentációját.

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

# ...

Az előző engine változóval csatlakozhat a megadott katalógushoz és sémához az Azure Databricks számítási erőforrásán keresztül.

SQLAlchemy v1

Kapcsolati példákért tekintse meg ezt a example.py

SQLAlchemy v2

A kapcsolati példákért tekintse meg a következő szakaszt és a GitHub sqlalchemy_example.py fájlt.

DBAPI-referencia

További erőforrások