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 apip install databricks-sqlalchemy
haszná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_HOSTNAME
komponenst 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
- databricks-sqlalchemy v1 GitHub-tárház
- SQLAlchemy v1 README.md
- databricks-sqlalchemy v2 GitHub-tárház
- SQLAlchemy v2 README.md