Azure Databricks ile SQLAlchemy kullanma
Azure Databricks, Azure Databricks için bir SQLAlchemy diyalekt (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 diyalekt, Python için Databricks SQL Bağlayıcısı'na dahildir. Bu makale, Python sürüm 3.0.0 veya üzeri için Databricks SQL Bağlayıcısı gerektiren Azure Databricks sürüm 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şlayın
veya
python -m pip install "databricks-sql-connector[sqlalchemy]"
komutunu çalıştırarakpip install "databricks-sql-connector[sqlalchemy]"
geliştirme makinenize Python kitaplığı sürüm 3.0.0 veya üzeri için Databricks SQL Bağlayıcısı'nı yükleyin. Sürüm bilgileri için bkz . databricks-sql-connector yayın 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 aşağıdakileri yapın:
- Azure Databricks çalışma alanınızda üst çubukta Azure Databricks kullanıcı adınıza tıklayın ve açılan listeden Ayarlar'ı seçin.
- Geliştirici'ye tıklayın.
- Erişim belirteçleri'nin yanındaki Yönet'e tıklayın.
- Yeni belirteç oluştur'a tıklayın.
- (İsteğe bağlı) Gelecekte bu belirteci tanımlamanıza yardımcı olacak bir açıklama girin ve belirtecin varsayılan 90 günlük ömrünü değiştirin. Yaşam süresi olmayan bir belirteç oluşturmak için (önerilmez), Yaşam Süresi (gün) kutusunu boş (boş) bırakın.
- Generate (Oluştur) düğmesine tıklayın.
- Görüntülenen belirteci güvenli bir konuma kopyalayın ve bitti'ye tıklayın.
Not
Kopyalanan belirteci güvenli bir konuma kaydettiğinizden emin olun. Kopyalanan belirtecinizi başkalarıyla paylaşmayın. Kopyalanan belirteci kaybederseniz, tam olarak aynı belirteci yeniden oluşturamazsınız. Bunun yerine, yeni bir belirteç oluşturmak için bu yordamı yinelemeniz gerekir. Kopyalanan belirteci kaybederseniz veya belirtecin gizliliğinin ihlal edildiğini düşünüyorsanız Databricks, Erişim belirteçleri sayfasındaki belirtecin yanındaki çöp kutusu (İptal Et) simgesine tıklayarak bu belirteci çalışma alanınızdan hemen silmenizi kesinlikle önerir.
Çalışma alanınızda belirteç oluşturamıyor veya kullanamıyorsanız, bunun nedeni çalışma alanı yöneticinizin belirteçleri devre dışı bırakmış olması veya size belirteç oluşturma veya kullanma izni vermemiş olması olabilir. Çalışma alanı yöneticinize veya aşağıdaki konulara bakın:
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
değerini kümenizin veya SQL ambarınızın Sunucu Ana Bilgisayar Adı değerine ayarlayın.DATABRICKS_HTTP_PATH
, kümeniz veya SQL ambarınız için HTTP Yolu değeri olarak ayarlayın.DATABRICKS_CATALOG
, Unity Kataloğu'nda hedef kataloğa ayarlayın.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şkeni kullanırsınız. Bağlantı örnekleri için aşağıdaki bölüme ve GitHub'daki sqlalchemy.py dosyasına bakın.
Örnek
GitHub'daki sqlalchemy.py dosyasına bakın.
DBAPI başvurusu
- GitHub'daki README.sqlalchemy.md dosyasına bakın.
- Ayrıca GitHub'daki sqlalchemy kaynak kodu dizinine de bakın.