Aracılığıyla paylaş


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 veya pip 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

    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_TOKENAzure Databricks kişisel erişim belirtecine ayarlayın.
  • DATABRICKS_SERVER_HOSTNAMEkü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

Ek kaynaklar