Bagikan melalui


Menggunakan SQLAlchemy dengan Azure Databricks

Azure Databricks menyediakan dialek SQLAlchemy (sistem yang digunakan SQLAlchemy untuk berkomunikasi dengan berbagai jenis implementasi dan API database) untuk Azure Databricks. SQLAlchemy adalah toolkit Python SQL dan Object Relational Mapper (ORM). SQLAlchemy menyediakan serangkaian pola persistensi tingkat perusahaan terkenal, yang dirancang untuk akses database yang efisien dan berkinerja tinggi, disesuaikan ke dalam bahasa domain sederhana dan Pythonic. Lihat Fitur dan Filsafat.

Dialek SQLAlchemy untuk Azure Databricks perlu diinstal untuk menggunakan fitur SQLAlchemy dengan Azure Databricks. Artikel ini membahas dialek SQLAlchemy untuk Azure Databricks versi 1.0 dan 2.0, yang akan didasarkan pada Databricks SQL Connector untuk Python versi 4.0.0 atau lebih tinggi.

Persyaratan

  • Mesin pengembangan yang menjalankan Python >=3.8 dan <=3.11.
  • Databricks merekomendasikan agar Anda menggunakan lingkungan virtual Python, seperti yang disediakan oleh venv yang disertakan dengan Python. Lingkungan virtual membantu memastikan bahwa Anda menggunakan versi Python yang benar dan Konektor SQL Databricks untuk Python bersama-sama. Menyiapkan dan menggunakan lingkungan virtual berada di luar cakupan artikel ini. Untuk informasi selengkapnya, lihat Membuat lingkungan virtual.
  • Kluster atau Gudang SQL yang sudah ada.

Mulai Sekarang

  • Instal databricks-sqlalchemy untuk SQLAlchemy v1 menggunakan pip install databricks-sqlalchemy~=1.0 atau untuk SQLAlchemy v2 menggunakan pip install databricks-sqlalchemy. Untuk informasi versi, lihat riwayat rilis databricks-sqlalchemy.

  • Kumpulkan informasi berikut ini untuk kluster atau gudang SQL yang ingin digunakan:

    Kluster

    Gudang SQL

    • Nama host server gudang SQL. Anda dapat memperoleh nama ini dari nilai Nama Host Server pada tab Detail Sambungan untuk gudang SQL Anda.
    • Path HTTP untuk gudang data SQL. Anda dapat memperoleh jalur ini dari nilai Jalur HTTP pada tab Detail Sambungan gudang SQL Anda.

Autentikasi

Dialek SQLAlchemy untuk Azure Databricks mendukung autentikasi token akses pribadi Azure Databricks.

Untuk membuat token akses pribadi Azure Databricks, ikuti langkah-langkah dalam token akses pribadi Azure Databricks untuk pengguna ruang kerja.

Untuk mengautentikasi dialek SQLAlchemy, gunakan cuplikan kode berikut. Cuplikan ini mengasumsikan bahwa Anda telah mengatur variabel lingkungan berikut:

  • DATABRICKS_TOKEN, atur ke token akses pribadi Azure Databricks.
  • DATABRICKS_SERVER_HOSTNAMEdiatur ke nilai Server Hostname untuk kluster atau gudang SQL Anda.
  • DATABRICKS_HTTP_PATH, tetapkan ke nilai Jalur HTTP untuk kluster atau gudang SQL Anda.
  • DATABRICKS_CATALOG, ditentukan untuk katalog target di Unity Catalog.
  • DATABRICKS_SCHEMA, atur ke skema target (juga dikenal sebagai database) di Unity Catalog.

Untuk mengatur variabel lingkungan, lihat dokumentasi sistem operasi Anda.

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}"
)

# ...

Anda menggunakan variabel engine sebelumnya untuk terhubung dengan katalog dan skema yang Anda tentukan melalui sumber daya komputasi Azure Databricks Anda.

SQLAlchemy v1

Untuk contoh koneksi, lihat example.py ini

SQLAlchemy v2

Untuk contoh koneksi, lihat bagian berikut dan file sqlalchemy_example.py di GitHub.

Referensi DBAPI

Sumber Daya Tambahan: