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. Viz 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í cluster nebo SQL Warehouse.
Začněte
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:
Cluster
- Název hostitele serveru clusteru. Můžete to získat z hodnoty názvu hostitele serveru na kartě Upřesnit možnosti > JDBC/ODBC clusteru.
- Cesta HTTP clusteru. Můžete to získat z hodnoty cesty HTTP na kartě Pokročilé možnosti > JDBC/ODBC pro váš cluster.
SQL Warehouse
- Název hostitele serveru služby SQL Warehouse. Můžete to získat z hodnoty jména hostitele serveru na kartě Podrobnosti připojení pro váš SQL sklad.
- Cesta HTTP služby SQL Warehouse. Můžete to získat z hodnoty HTTP cesta na kartě Podrobnosti o 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 kroků v osobních přístupových tokenech Azure Databricks 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í:
-
DATABRICKS_TOKEN
, nastavte na osobní přístupový token Azure Databricks. -
DATABRICKS_SERVER_HOSTNAME
nastaveno na hodnotu jména serverového hostitele pro váš cluster nebo SQL Warehouse. -
DATABRICKS_HTTP_PATH
, nastavte hodnotu cestu HTTP pro váš cluster nebo SQL Warehouse. -
DATABRICKS_CATALOG
, nastavte cílový katalog v Katalogu Unity. -
DATABRICKS_SCHEMA
, nastavte na cílové schéma (označované 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
- Databricks-SQLAlchemy v1 GitHub úložiště
- sqlAlchemy v1 README.md
- úložiště Databricks-sqlalchemy v2 GitHubu
- SQLAlchemy v2 README.md