Bagikan melalui


Menggunakan SQLAlchemy dengan Azure Databricks

Azure Databricks menyediakan dialek SQLAlchemy (sistem yang digunakan SQLAlchemy untuk berkomunikasi dengan berbagai jenis implementasi dan database 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 disertakan dengan Konektor SQL Databricks untuk Python. Artikel ini membahas dialek SQLAlchemy untuk Azure Databricks versi 2.0, yang memerlukan Databricks SQL Connector untuk Python versi 3.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.

Memulai

  • Instal Konektor SQL Databricks untuk pustaka Python versi 3.0.0 atau lebih tinggi pada komputer pengembangan Anda dengan menjalankan pip install "databricks-sql-connector[sqlalchemy]" atau python -m pip install "databricks-sql-connector[sqlalchemy]". Untuk informasi versi, lihat riwayat rilis databricks-sql-connector.

  • 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.
    • Jalur HTTP gudang 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, lakukan hal berikut:

  1. Di ruang kerja Azure Databricks Anda, klik nama pengguna Azure Databricks Anda di bilah atas, lalu pilih Pengaturan dari menu drop-down.
  2. Klik Pengembang.
  3. Di samping Token akses, klik Kelola.
  4. Klik Buat token baru.
  5. (Opsional) Masukkan komentar yang membantu Anda mengidentifikasi token ini di masa mendatang, dan mengubah masa pakai default token selama 90 hari. Untuk membuat token tanpa masa pakai (tidak disarankan), biarkan kotak Seumur Hidup (hari) kosong (kosong).
  6. Klik Buat.
  7. Salin token yang ditampilkan ke lokasi aman, lalu klik Selesai.

Catatan

Pastikan untuk menyimpan token yang disalin di lokasi yang aman. Jangan bagikan token yang Anda salin dengan orang lain. Jika Anda kehilangan token yang disalin, Anda tidak dapat meregenerasi token yang sama persis. Sebagai gantinya, Anda harus mengulangi prosedur ini untuk membuat token baru. Jika Anda kehilangan token yang disalin, atau Anda yakin bahwa token telah disusupi, Databricks sangat menyarankan agar Anda segera menghapus token tersebut dari ruang kerja Anda dengan mengklik ikon tempat sampah (Cabut) di samping token di halaman Token akses.

Jika Anda tidak dapat membuat atau menggunakan token di ruang kerja, ini mungkin karena administrator ruang kerja Anda telah menonaktifkan token atau belum memberi Anda izin untuk membuat atau menggunakan token. Lihat administrator ruang kerja Anda atau topik berikut:

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_HOSTNAMEatur ke nilai Nama Host Server untuk kluster atau gudang SQL Anda.
  • DATABRICKS_HTTP_PATH, atur ke nilai Jalur HTTP untuk kluster atau gudang SQL Anda.
  • DATABRICKS_CATALOG, atur ke katalog target di Katalog Unity.
  • DATABRICKS_SCHEMA, atur ke skema target (juga dikenal sebagai database) di Katalog Unity.

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 sebelumnya untuk menyambungkan engine ke katalog dan skema yang ditentukan melalui sumber daya komputasi Azure Databricks Anda. Untuk contoh koneksi, lihat bagian berikut dan file sqlalchemy.py di GitHub.

Contoh

Lihat file sqlalchemy.py di GitHub.

Referensi DBAPI

Sumber Daya Tambahan: