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.
Dialekt SQLAlchemy pro Azure Databricks je součástí konektoru SQL Databricks pro Python. Tento článek se zabývá dialektem SQLAlchemy pro Azure Databricks verze 2.0, který vyžaduje konektor SQL Databricks pro Python verze 3.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áme
Na vývojový počítač nainstalujte konektor SQL Databricks pro knihovnu Python verze 3.0.0 nebo vyšší.
pip install "databricks-sql-connector[sqlalchemy]"
python -m pip install "databricks-sql-connector[sqlalchemy]"
Informace o verzi najdete v historii verzí konektoru Databricks-sql..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ázev hostitele serveru na kartě Upřesnit možnosti > JDBC/ODBC pro váš cluster.
- Cesta HTTP clusteru. Můžete to získat z hodnoty CESTA HTTP na kartě Upřesnit možnosti > JDBC/ODBC pro váš cluster.
SQL Warehouse
- Název hostitele serveru služby SQL Warehouse. Můžete to získat z hodnoty Název hostitele serveru na kartě Podrobnosti připojení pro váš SQL Warehouse.
- Cesta HTTP služby SQL Warehouse. Můžete to získat z hodnoty CESTA HTTP na kartě Podrobnosti 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
na hodnotu Název hostitele serveru pro váš cluster nebo SQL Warehouse.DATABRICKS_HTTP_PATH
, nastavte hodnotu cesty 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. Příklady připojení najdete v následující části a v souboru sqlalchemy.py na GitHubu.
Příklad
Podívejte se na soubor sqlalchemy.py na GitHubu.
Referenční informace k DBAPI
- Podívejte se na soubor README.sqlalchemy.md na GitHubu.
- Viz také adresář zdrojového kódu sqlalchemy na GitHubu.