Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Azure Databricks udostępnia dialekt SQLAlchemy (system, którego SQLAlchemy używa do komunikacji z różnymi typami implementacji API baz danych i bazami danych) dla Azure Databricks. SQLAlchemy to zestaw narzędzi języka Python SQL i maper relacyjny obiektów (ORM). SqlAlchemy udostępnia zestaw dobrze znanych biznesowych wzorców trwałości, zaprojektowanych pod kątem efektywnego i wysokowydajnego dostępu do bazy danych, dostosowanych do prostego, naturalnego dla języka Python języka domenowego. Zobacz Funkcje i filozofia.
Dialekt SQLAlchemy dla usługi Azure Databricks musi być zainstalowany, aby korzystać z funkcji SQLAlchemy w usłudze Azure Databricks. W tym artykule opisano dialekt SQLAlchemy dla usługi Azure Databricks w wersji 1.0 i 2.0, który będzie oparty na łączniku SQL Usługi Databricks dla języka Python w wersji 4.0.0 lub nowszej.
Wymagania
- Maszyna deweloperna z uruchomionym językiem Python >=3.8 i <=3.11.
- Usługa Databricks zaleca używanie środowisk wirtualnych języka Python, takich jak te udostępniane przez venv dołączone do języka Python. Środowiska wirtualne pomagają zapewnić, że używasz poprawnych wersji języka Python i łącznika SQL usługi Databricks dla języka Python. Konfigurowanie i używanie środowisk wirtualnych wykracza poza zakres tego artykułu. Aby uzyskać więcej informacji, zobacz Tworzenie środowisk wirtualnych.
- Istniejący klaster lub magazyn SQL.
Wprowadzenie
Zainstaluj usługę databricks-sqlalchemy dla programu SQLAlchemy w wersji 1 przy użyciu
pip install databricks-sqlalchemy~=1.0lub sqlAlchemy w wersji 2 przy użyciupip install databricks-sqlalchemy. Aby uzyskać informacje o wersji, zapoznaj się z historią wydań databricks-sqlalchemy.Zbierz następujące informacje dotyczące klastra lub magazynu SQL, którego chcesz użyć:
Klaster
- Nazwa hosta serwera klastra. Możesz uzyskać to z wartości Nazwa hosta na karcie Opcje zaawansowane > JDBC/ODBC dla swojego klastra.
- Ścieżka HTTP klastra. Możesz uzyskać to z wartości ścieżki HTTP w Opcjach zaawansowanych > na karcie JDBC/ODBC dla twojego klastra.
SQL Warehouse
- Nazwa hosta serwera usługi SQL Warehouse. Możesz to uzyskać z wartości nazwy hosta serwera na karcie Szczegóły połączenia dla magazynu danych SQL.
- Ścieżka HTTP magazynu SQL. Możesz to uzyskać z wartości ścieżki HTTP na karcie Szczegóły połączenia dla usługi SQL Warehouse.
Uwierzytelnianie
Dialekt SQLAlchemy dla usługi Azure Databricks obsługuje uwierzytelnianie osobistego tokenu dostępu usługi Azure Databricks.
Aby utworzyć osobisty token dostępu usługi Azure Databricks, wykonaj kroki opisane w artykule Tworzenie osobistych tokenów dostępu dla użytkowników obszaru roboczego.
Aby uwierzytelnić dialekt SQLAlchemy, użyj następującego fragmentu kodu. W tym fragmencie kodu założono, że ustawiono następujące zmienne środowiskowe:
-
DATABRICKS_TOKENustawiony na osobisty token dostępu usługi Azure Databricks. -
DATABRICKS_SERVER_HOSTNAMEustawioną na wartość nazwy hosta serwera dla twojego klastra lub magazynu SQL. -
DATABRICKS_HTTP_PATHustaw wartość ścieżki HTTP dla klastra lub magazynu SQL. -
DATABRICKS_CATALOG, ustawiony w katalogu docelowym katalogu Unity. -
DATABRICKS_SCHEMA, ustawiony na schemat docelowy (znany również jako baza danych) w katalogu Unity.
Aby ustawić zmienne środowiskowe, zapoznaj się z dokumentacją systemu operacyjnego.
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}"
)
# ...
Poprzednia zmienna engine służy do łączenia się z określonym wykazem i schematem za pośrednictwem zasobu obliczeniowego usługi Azure Databricks.
SQLAlchemy, wersja 1
Przykłady połączeń można znaleźć w tym example.py
SQLAlchemy, wersja 2
Przykłady połączeń można znaleźć w poniższej sekcji i pliku sqlalchemy_example.py w usłudze GitHub.
Referencja DBAPI
- repozytorium GitHub databricks-sqlalchemy w wersji 1
- SQLAlchemy v1 README.md
- databricks-sqlalchemy v2 repozytorium na GitHubie
- SQLAlchemy v2 README.md