Azure Databricks ile SQLAlchemy kullanma
Azure Databricks, Azure Databricks için bir SQLAlchemydiyalekt (SQLAlchemy'nin çeşitli türlerdeki veritabanı API uygulamaları ve veritabanlarıyla iletişim kurmak için kullandığı sistem) sağlar. SQLAlchemy bir Python SQL araç seti ve Nesne İlişkisel Eşleyici (ORM). SQLAlchemy, basit ve Pythonic etki alanı diline uyarlanmış, verimli ve yüksek performanslı veritabanı erişimi için tasarlanmış, iyi bilinen kurumsal düzeyde kalıcılık desenleri paketi sağlar. Bkz. Özellikler ve Felsefe.
Azure Databricks için SQLAlchemy diyalektinin Azure Databricks ile SQLAlchemy özelliklerini kullanabilmesi için yüklenmesi gerekir. Bu makale, Python sürüm 4.0.0 veya üzeri için Databricks SQL Bağlayıcısı'nı temel alan Azure Databricks sürüm 1.0 ve 2.0 için SQLAlchemy diyalektlerini kapsar.
Gereksinimler
- Python >=3.8 ve <=3.11 çalıştıran bir geliştirme makinesi.
- Databricks, Venv tarafından sağlanan ve Python ile birlikte gelenler gibi Python sanal ortamlarını kullanmanızı önerir. Sanal ortamlar, Python'ın doğru sürümlerini ve Python için Databricks SQL Bağlayıcısı'nı birlikte kullandığınızdan emin olmanıza yardımcı olur. Sanal ortamların ayarlanması ve kullanılması bu makalenin kapsamı dışındadır. Daha fazla bilgi için bkz . Sanal ortam oluşturma.
- Mevcut bir küme veya SQL ambarı.
Kullanmaya başlama
pip install databricks-sqlalchemy~=1.0
kullanarak SQLAlchemy v1 için databricks-sqlalchemy'yi veyapip install databricks-sqlalchemy
kullanarak SQLAlchemy v2'yi yükleyin. Sürüm bilgileri için bakınız databricks-sqlalchemy'nin sürüm geçmişi.Kullanmak istediğiniz küme veya SQL ambarı için aşağıdaki bilgileri toplayın:
Küme
- Kümenin sunucu ana bilgisayar adı. Bunu, kümenizin Gelişmiş Seçenekler > JDBC/ODBC sekmesindeki Sunucu Ana Bilgisayar Adı değerinden alabilirsiniz.
- Kümenin HTTP yolu. Bunu, kümenizin Gelişmiş Seçenekler > JDBC/ODBC sekmesindeki HTTP Yolu değerinden alabilirsiniz.
SQL ambarı
- SQL ambarının sunucu konak adı. Bunu SQL ambarınızın Bağlantı Ayrıntıları sekmesindeki Sunucu Ana Bilgisayar Adı değerinden alabilirsiniz.
- SQL ambarının HTTP yolu. Bunu SQL ambarınızın Bağlantı Ayrıntıları sekmesindeki HTTP Yolu değerinden alabilirsiniz.
Kimlik Doğrulaması
Azure Databricks için SQLAlchemy diyalekt, Azure Databricks kişisel erişim belirteci kimlik doğrulamasını destekler.
Azure Databricks kişisel erişim belirteci oluşturmak için çalışma alanı kullanıcıları için Azure Databricks kişisel erişim belirteçleri'ndeki adımları izleyin.
SQLAlchemy diyalektinin kimliğini doğrulamak için aşağıdaki kod parçacığını kullanın. Bu kod parçacığı, aşağıdaki ortam değişkenlerini ayarladığınızı varsayar:
-
DATABRICKS_TOKEN
Azure Databricks kişisel erişim belirtecine ayarlayın. -
DATABRICKS_SERVER_HOSTNAME
kümeniz veya SQL ambarınız için Sunucu Host Adı değerine ayarlanır. , kümeniz veya SQL ambarınız için HTTP Yolu değerini olarak ayarlayın. -
DATABRICKS_CATALOG
, Unity Kataloğu'nda hedef kataloğa atandı. -
DATABRICKS_SCHEMA
, Unity Kataloğu'nda hedef şemaya (veritabanı olarak da bilinir) ayarlanır.
Ortam değişkenlerini ayarlamak için işletim sisteminizin belgelerine bakın.
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}"
)
# ...
Azure Databricks işlem kaynağınız aracılığıyla belirtilen kataloğunuza ve şemanıza bağlanmak için önceki engine
değişkenini kullanırsınız.
SQLAlchemy v1
Bağlantı örnekleri için bu example.py bakın
SQLAlchemy v2
Bağlantı örnekleri için aşağıdaki bölüme ve GitHub'daki sqlalchemy_example.py dosyasına bakın.
DBAPI başvurusu
- Databricks-sqlalchemy v1 GitHub deposunu
- SQLAlchemy v1 README.md
- Databricks-sqlalchemy v2 GitHub deposunu
- sqlalchemy v2 README.md