استخدام SQLAlchemy مع Azure Databricks
يوفر Azure Databricks لهجة SQLAlchemy (يستخدم النظام SQLAlchemy للتواصل مع أنواع مختلفة من تطبيقات وقواعد بيانات واجهة برمجة تطبيقات قاعدة البيانات) ل Azure Databricks. SQLAlchemy هو مجموعة أدوات Python SQL ومخطط ارتباطي للكائنات (ORM). يوفر SQLAlchemy مجموعة من أنماط الاستمرار المعروفة على مستوى المؤسسة، المصممة للوصول الفعال وعالي الأداء إلى قاعدة البيانات، والتي تم تكييفها في لغة مجال بسيطة وPythonic. راجع الميزات والفلسفة.
يتم تضمين لهجة SQLAlchemy ل Azure Databricks مع Databricks SQL Connector ل Python. تتناول هذه المقالة لهجة SQLAlchemy للإصدار 2.0 من Azure Databricks، والذي يتطلب Databricks SQL Connector للإصدار 3.0.0 من Python أو أعلى.
المتطلبات
- جهاز تطوير يقوم بتشغيل Python >=3.8 و <=3.11.
- توصي Databricks باستخدام بيئات Python الظاهرية، مثل تلك التي يوفرها venv المضمنة مع Python. تساعد البيئات الظاهرية على التأكد من أنك تستخدم الإصدارات الصحيحة من Python وموصل Databricks SQL ل Python معا. إعداد البيئات الظاهرية واستخدامها خارج نطاق هذه المقالة. لمزيد من المعلومات، راجع إنشاء بيئات ظاهرية.
- نظام مجموعة موجود أو مستودع SQL.
الشروع في العمل
قم بتثبيت Databricks SQL Connector لإصدار مكتبة Python 3.0.0 أو أعلى على جهاز التطوير الخاص بك عن طريق تشغيل
pip install "databricks-sql-connector[sqlalchemy]"
أوpython -m pip install "databricks-sql-connector[sqlalchemy]"
. للحصول على معلومات الإصدار، راجع محفوظات إصدار databricks-sql-connector.اجمع المعلومات التالية لنظام المجموعة أو مستودع SQL الذي تريد استخدامه:
نظام المجموعة
- اسم مضيف الخادم للمجموعة. يمكنك الحصول على هذا من قيمة Server Hostname في علامة التبويب Advanced Options > JDBC/ODBC للمجموعة الخاصة بك.
- مسار HTTP للمجموعة. يمكنك الحصول على هذا من قيمة مسار HTTP في علامة التبويب خيارات > متقدمة JDBC/ODBC للمجموعة الخاصة بك.
مستودع SQL
- اسم مضيف الخادم لمستودع SQL. يمكنك الحصول على هذا من قيمة Server Hostname في علامة التبويب Connection Details لمستودع SQL.
- مسار HTTP لمستودع SQL. يمكنك الحصول على هذا من قيمة مسار HTTP في علامة التبويب تفاصيل الاتصال لمستودع SQL الخاص بك.
المصادقة
تدعم لهجة SQLAlchemy ل Azure Databricks مصادقة رمز الوصول الشخصي Azure Databricks.
لإنشاء رمز مميز للوصول الشخصي إلى Azure Databricks، اتبع الخطوات الواردة في رموز الوصول الشخصي Azure Databricks لمستخدمي مساحة العمل.
لمصادقة لهجة SQLAlchemy، استخدم القصاصة البرمجية التالية. تفترض هذه القصاصة البرمجية أنك قمت بتعيين متغيرات البيئة التالية:
DATABRICKS_TOKEN
، قم بتعيين إلى رمز الوصول الشخصي Azure Databricks.DATABRICKS_SERVER_HOSTNAME
تعيين إلى قيمة Server Hostname لنظام المجموعة أو مستودع SQL.DATABRICKS_HTTP_PATH
، قم بتعيين إلى قيمة مسار HTTP لنظام المجموعة أو مستودع SQL.DATABRICKS_CATALOG
، قم بتعيين إلى الكتالوج الهدف في كتالوج Unity.DATABRICKS_SCHEMA
، قم بتعيين إلى المخطط الهدف (المعروف أيضا باسم قاعدة البيانات) في كتالوج Unity.
لتعيين متغيرات البيئة، راجع وثائق نظام التشغيل الخاص بك.
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}"
)
# ...
يمكنك استخدام المتغير السابق engine
للاتصال بالكتالوج والمخطط المحددين من خلال مورد حساب Azure Databricks. للحصول على أمثلة الاتصال، راجع القسم التالي وملف sqlalchemy.py في GitHub.
مثال
راجع ملف sqlalchemy.py في GitHub.
مرجع DBAPI
- راجع ملف README.sqlalchemy.md في GitHub.
- راجع أيضا دليل التعليمات البرمجية المصدر sqlalchemy في GitHub.