Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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, verimli ve yüksek performanslı veritabanı erişimi için tasarlanmış, basit ve Python'a özgü bir dilde uyarlanmış, kurumsal düzeyde iyi bilinen kalıcılık desenleri sunar. 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.0kullanarak SQLAlchemy v1 için databricks-sqlalchemy'yi veyapip install databricks-sqlalchemykullanarak 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 sekmesindeki > değerinden alabilirsiniz.
- Kümenin HTTP yolu. Bunu, kümenizin sekmesindeki > 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 jetonu kimlik doğrulamasını destekler.
Azure Databricks kişisel erişim belirteci oluşturmak için Çalışma alanı kullanıcıları için kişisel erişim belirteçleri oluşturma bölümünde yer alan 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:
- Azure Databricks kişisel erişim jetonuna
DATABRICKS_TOKENolarak ayarlayın. -
DATABRICKS_SERVER_HOSTNAMEkümeniz veya SQL ambarınız için Sunucu Host Adı değerine ayarlanır. -
DATABRICKS_HTTP_PATH, 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 referansı
- Databricks-sqlalchemy v1 GitHub deposunu
- SQLAlchemy v1 README.md
- Databricks-sqlalchemy v2 GitHub deposunu
- sqlalchemy v2 README.md