تشغيل الاستعلامات الموحدة على Microsoft Azure Synapse
توضح هذه المقالة كيفية إعداد Lakehouse Federation لتشغيل الاستعلامات الموحدة على بيانات Azure Synapse (SQL Data Warehouse) التي لا تديرها Azure Databricks. لمعرفة المزيد حول Lakehouse Federation، راجع ما هو Lakehouse Federation.
للاتصال بقاعدة بيانات Azure Synapse (SQL Data Warehouse) باستخدام Lakehouse Federation، يجب عليك إنشاء ما يلي في مخزن metastore لكتالوج Azure Databricks Unity:
- اتصال بقاعدة بيانات Azure Synapse (مستودع بيانات SQL).
- كتالوج خارجي يعكس قاعدة بيانات Azure Synapse (مستودع بيانات SQL) في كتالوج Unity بحيث يمكنك استخدام بناء جملة استعلام كتالوج Unity وأدوات إدارة البيانات لإدارة وصول مستخدم Azure Databricks إلى قاعدة البيانات.
قبل البدء
متطلبات مساحة العمل:
- مساحة العمل ممكنة ل Unity Catalog.
متطلبات الحساب:
- اتصال الشبكة من نظام مجموعة Databricks Runtime أو مستودع SQL إلى أنظمة قاعدة البيانات الهدف. راجع توصيات الشبكات ل Lakehouse Federation.
- يجب أن تستخدم مجموعات Azure Databricks Databricks وقت تشغيل Databricks 13.3 LTS أو أعلى ووضع الوصول المشترك أو أحادي المستخدم.
- يجب أن تكون مستودعات SQL Pro أو بلا خادم.
الأذونات المطلوبة:
- لإنشاء اتصال، يجب أن تكون مسؤول metastore أو مستخدما لديه
CREATE CONNECTION
الامتياز على مخزن بيانات تعريف كتالوج Unity المرفق بمساحة العمل. - لإنشاء كتالوج خارجي، يجب أن يكون لديك
CREATE CATALOG
الإذن على metastore وأن تكون إما مالك الاتصال أو أن يكون لديكCREATE FOREIGN CATALOG
امتياز على الاتصال.
يتم تحديد متطلبات إذن إضافية في كل مقطع يستند إلى المهام التالية.
إنشاء اتصال
يحدد الاتصال مسارا وبيانات اعتماد للوصول إلى نظام قاعدة بيانات خارجي. لإنشاء اتصال، يمكنك استخدام مستكشف الكتالوج CREATE CONNECTION
أو الأمر SQL في دفتر ملاحظات Azure Databricks أو محرر استعلام Databricks SQL.
الأذونات المطلوبة: مسؤول Metastore أو المستخدم الذي يتمتع بالامتياز CREATE CONNECTION
.
مستكشف الكتالوج
- في مساحة عمل Azure Databricks، انقر فوق كتالوج.
- في الجزء الأيمن، قم بتوسيع قائمة البيانات الخارجية وحدد الاتصالات.
- انقر فوق إنشاء اتصال.
- أدخل اسم اتصال سهل الاستخدام.
- حدد نوع اتصال SQLDW.
- أدخل خصائص الاتصال التالية لمثيل Azure Synapse.
- المضيف: على سبيل المثال،
sqldws-demo.database.windows.net
. - المنفذ: على سبيل المثال،
1433
- trustServerCertificate: الافتراضيات إلى
false
. عند التعيين إلىtrue
، تستخدم طبقة النقل SSL لتشفير القناة وتجاوز سلسلة الشهادات للتحقق من صحة الثقة. اترك هذه المجموعة إلى الإعداد الافتراضي ما لم تكن لديك حاجة محددة لتجاوز التحقق من صحة الثقة. - User
- كلمة المرور
- المضيف: على سبيل المثال،
- (اختياري) انقر فوق اختبار الاتصال للتأكد من أنه يعمل.
- (اختياري) إضافة تعليق.
- انقر فوق Create.
SQL
قم بتشغيل الأمر التالي في دفتر ملاحظات أو محرر استعلام Databricks SQL.
CREATE CONNECTION <connection-name> TYPE sqldw
OPTIONS (
host '<hostname>',
port '<port>',
user '<user>',
password '<password>'
);
نوصي باستخدام أسرار Azure Databricks بدلا من سلاسل النص العادي للقيم الحساسة مثل بيانات الاعتماد. على سبيل المثال:
CREATE CONNECTION <connection-name> TYPE sqldw
OPTIONS (
host '<hostname>',
port '<port>',
user secret ('<secret-scope>','<secret-key-user>'),
password secret ('<secret-scope>','<secret-key-password>')
)
للحصول على معلومات حول إعداد البيانات السرية، راجع إدارة البيانات السرية.
إنشاء كتالوج خارجي
يعكس الكتالوج الخارجي قاعدة بيانات في نظام بيانات خارجي بحيث يمكنك الاستعلام عن الوصول إلى البيانات وإدارتها في قاعدة البيانات هذه باستخدام Azure Databricks وUnity Catalog. لإنشاء كتالوج خارجي، يمكنك استخدام اتصال بمصدر البيانات الذي تم تعريفه بالفعل.
لإنشاء كتالوج خارجي، يمكنك استخدام مستكشف الكتالوج CREATE FOREIGN CATALOG
أو أمر SQL في دفتر ملاحظات Azure Databricks أو محرر استعلام Databricks SQL.
الأذونات المطلوبة:CREATE CATALOG
إذن على metastore وإما ملكية الاتصال أو الامتياز CREATE FOREIGN CATALOG
على الاتصال.
مستكشف الكتالوج
- في مساحة عمل Azure Databricks، انقر فوق كتالوج.
- انقر فوق الزر إنشاء كتالوج.
- في مربع الحوار إنشاء كتالوج جديد، أدخل اسما للكتالوج وحدد نوعخارجي.
- حدد الاتصال الذي يوفر الوصول إلى قاعدة البيانات التي تريد عكسها ككتالوج كتالوج Unity.
- أدخل اسم قاعدة البيانات التي تريد نسخها ككتالوج.
- انقر فوق Create.
SQL
قم بتشغيل أمر SQL التالي في دفتر ملاحظات أو محرر Databricks SQL. العناصر الموجودة بين قوسين اختيارية. استبدل قيم العنصر النائب:
<catalog-name>
: اسم الكتالوج في Azure Databricks.<connection-name>
: كائن الاتصال الذي يحدد مصدر البيانات والمسار وبيانات اعتماد الوصول.<database-name>
: اسم قاعدة البيانات التي تريد عكسها ككتالوج في Azure Databricks.
CREATE FOREIGN CATALOG [IF NOT EXISTS] <catalog-name> USING CONNECTION <connection-name>
OPTIONS (database '<database-name>');
عمليات الدفع المدعومة
يتم دعم القوائم المنبثقة التالية:
- عوامل التصفية
- التوقعات
- الحد
- التجميعات (المتوسط، العدد، الحد الأقصى، الحد الأدنى، StddevPop، StddevSamp، Sum، VarianceSamp)
- الدالات (دالات حسابية وغيرها من الدالات المتنوعة، مثل الاسم المستعار، المدلى بها، SortOrder)
- الفرز
لا يتم دعم القوائم المنبثقة التالية:
- عمليات الربط
- وظائف Windows
تعيينات نوع البيانات
عند القراءة من Synapse / SQL Data Warehouse إلى Spark، يتم تعيين أنواع البيانات على النحو التالي:
نوع Synapse | نوع Spark |
---|---|
عشري، مال، رقمي، صغير | نوع عشري |
Smallint | ShortType |
Tinyint | ByteType |
العدد الصحيح | IntegerType |
عدد صحيح كبير | LongType |
real | FloatType |
عائم | DoubleType |
char, nchar, ntext, nvarchar, text, uniqueidentifier, varchar, xml | StringType |
ثنائي، جغرافيا، هندسة، صورة، طابع زمني، udt، متغير | نوع ثنائي |
بت | BooleanType |
date | DateType |
datetime, datetime, smalldatetime, time | TimestampType/TimestampNTZType* |
*عند القراءة من Synapse / SQL Data Warehouse (SQLDW)، يتم تعيين SQLDW datetimes
إلى Spark TimestampType
إذا preferTimestampNTZ = false
(افتراضي). يتم تعيين SQLDW datetimes
إلى TimestampNTZType
إذا .preferTimestampNTZ = true
الملاحظات
https://aka.ms/ContentUserFeedback.
قريبًا: خلال عام 2024، سنتخلص تدريجيًا من GitHub Issues بوصفها آلية إرسال ملاحظات للمحتوى ونستبدلها بنظام ملاحظات جديد. لمزيد من المعلومات، راجعإرسال الملاحظات وعرضها المتعلقة بـ