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
Telepítse a Databricks SQL Connector for Python-kódtár 3.0.0-s vagy újabb verzióját a fejlesztőgépre a futtatás vagy
python -m pip install "databricks-sql-connector[sqlalchemy]"
a .pip install "databricks-sql-connector[sqlalchemy]"
A verzióval kapcsolatos információkért tekintse meg a databricks-sql-connector 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 fürt Speciális beállítások > JDBC/ODBC lapján található Kiszolgáló állomásnév értékéből szerezheti be.
- A fürt HTTP-elérési útja. Ezt a fürt Speciális beállítások > JDBC/ODBC lapján található HTTP-elérési út értékről szerezheti be.
SQL Warehouse
- Az SQL Warehouse kiszolgálói állomásneve. Ezt az SQL-raktár 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ékbő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 tegye a következőket:
- 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 .
- Kattintson a Fejlesztőeszközök elemre.
- Az Access-jogkivonatok mellett kattintson a Kezelés gombra.
- Kattintson az Új jogkivonat létrehozása elemre.
- (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).
- Kattintson a Létrehozás lehetőségre.
- 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_TOKEN
beállításnál állítsa be az Azure Databricks személyes hozzáférési jogkivonatát.DATABRICKS_SERVER_HOSTNAME
elemet a fürt vagy az SQL Warehouse kiszolgálói állomásnév értékére állítja.DATABRICKS_HTTP_PATH
elemet, á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
- Tekintse meg az README.sqlalchemy.md fájlt a GitHubon.
- Lásd még az sqlalchemy forráskód könyvtárát a GitHubon.