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


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

Az Azure Databricks egy SQLAlchemy dialektust 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-dialektusa a Pythonhoz készült Databricks SQL Connector része. Ez a cikk az Azure Databricks 2.0-s vagy újabb verziójához készült SQLAlchemy-dialektust ismerteti, amelyhez a Databricks SQL Connector a Python 3.0.0-s vagy újabb verziójához szükséges.

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.

Első lépések

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 tegye a következőket:

  1. Az Azure Databricks-munkaterületen kattintson az Azure Databricks-felhasználónevére a felső sávon, majd válassza a legördülő menü Beállítások elemét .
  2. Kattintson a Fejlesztőeszközök elemre.
  3. Az Access-jogkivonatok mellett kattintson a Kezelés gombra.
  4. Kattintson az Új jogkivonat létrehozása elemre.
  5. (Nem kötelező) Írjon be egy megjegyzést, amely segít azonosítani a jogkivonatot a jövőben, és módosíthatja a jogkivonat alapértelmezett 90 napos élettartamát. Élettartam nélküli (nem ajánlott) jogkivonat létrehozásához hagyja üresen az Élettartam (nap) mezőt (üres).
  6. Kattintson a Létrehozás lehetőségre.
  7. Másolja a megjelenített jogkivonatot egy biztonságos helyre, majd kattintson a Kész gombra.

Feljegyzés

Ügyeljen arra, hogy a másolt jogkivonatot biztonságos helyre mentse. Ne ossza meg másokkal a másolt jogkivonatot. Ha elveszíti a másolt jogkivonatot, nem tudja pontosan ugyanazt a jogkivonatot újragenerálni. Ehelyett meg kell ismételnie ezt az eljárást egy új jogkivonat létrehozásához. Ha elveszíti a másolt jogkivonatot, vagy úgy véli, hogy a jogkivonat sérült, a Databricks határozottan javasolja, hogy azonnal törölje a jogkivonatot a munkaterületről az Access-jogkivonatok lapon a jogkivonat melletti kuka (Visszavonás) ikonra kattintva.

Ha nem tud jogkivonatokat létrehozni vagy használni a munkaterületen, ennek az lehet az oka, hogy a munkaterület rendszergazdája letiltotta a jogkivonatokat, vagy nem adott engedélyt a jogkivonatok létrehozására vagy használatára. Tekintse meg a munkaterület rendszergazdáját vagy a következő témaköröket:

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_TOKENbeállításnál állítsa be az Azure Databricks személyes hozzáférési jogkivonatát.
  • DATABRICKS_SERVER_HOSTNAMEelemet a fürt vagy az SQL Warehouse kiszolgálói állomásnév értékére állítja.
  • DATABRICKS_HTTP_PATHelemet, állítsa be a HTTP-elérési út értékét a fürthöz vagy az SQL Warehouse-hoz.
  • DATABRICKS_CATALOG, á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. Kapcsolati példákért tekintse meg a következő szakaszt és a GitHub sqlalchemy.py fájlt.

Példa

Tekintse meg a sqlalchemy.py fájlt a GitHubon.

DBAPI-referencia

További erőforrások