العمل مع الجداول الخارجية
تخزن الجداول الخارجية البيانات في دليل في تخزين كائن السحابة في مستأجر السحابة الخاص بك. يجب تحديد موقع تخزين عند تعريف جدول خارجي.
توصي Databricks باستخدام الجداول الخارجية فقط عندما تحتاج إلى الوصول المباشر إلى البيانات دون استخدام الحوسبة على Azure Databricks. لا يتم فرض امتيازات كتالوج Unity عند وصول المستخدمين إلى ملفات البيانات من الأنظمة الخارجية.
إشعار
تركز هذه المقالة على جداول Unity الخارجية. الجداول الخارجية في Hive metastore القديم لها سلوكيات مختلفة. راجع كائنات قاعدة البيانات في Hive metastore القديم.
العمل مع الجداول الخارجية
يدير Azure Databricks بيانات التعريف للجداول الخارجية فقط ولا يستخدم موقع إدارة التخزين المقترن بالمخطط المحتوي. تسجيل الجدول في كتالوج Unity هو مجرد مؤشر لملفات البيانات. عند إسقاط جدول خارجي، لا يتم حذف ملفات البيانات.
عند إنشاء جدول خارجي، يمكنك إما تسجيل دليل موجود لملفات البيانات كجدول أو توفير مسار لإنشاء ملفات بيانات جديدة.
يمكن للجداول الخارجية استخدام تنسيقات الملفات التالية:
- دلتا
- CSV
- JSON
- AVRO
- PARQUET
- ORC
- TEXT
إنشاء جدول خارجي
لإنشاء جدول خارجي، يمكن استخدام أوامر SQL أو عمليات كتابة Dataframe.
قبل البدء
لإنشاء جدول خارجي، يجب أن تفي بمتطلبات الأذونات التالية:
- الامتياز
CREATE EXTERNAL TABLE
على موقع خارجي يمنح الوصول إلىLOCATION
الذي تم الوصول إليه بواسطة الجدول الخارجي. USE SCHEMA
الإذن الموجود في المخطط الأصل للجدول.USE CATALOG
الإذن الموجود في الكتالوج الأصل للجدول.CREATE TABLE
الإذن الموجود في المخطط الأصل للجدول.
لمزيد من المعلومات حول تكوين المواقع الخارجية، راجع إنشاء موقع خارجي لتوصيل التخزين السحابي ب Azure Databricks.
أمثلة على أوامر SQL
استخدم أحد أمثلة الأوامر التالية في دفتر ملاحظات أو محرر استعلام SQL لإنشاء جدول خارجي.
في الأمثلة التالية، استبدل قيم العنصر النائب:
<catalog>
: اسم الكتالوج الذي سيحتوي على الجدول.<schema>
: اسم المخطط الذي سيحتوي على الجدول.<table-name>
: اسم للجدول.<column-specification>
: الاسم ونوع البيانات لكل عمود.<bucket-path>
: المسار إلى مستودع التخزين السحابي حيث سيتم إنشاء الجدول.<table-directory>
: دليل حيث سيتم إنشاء الجدول. استخدم دليلا فريدا لكل جدول.
CREATE TABLE <catalog>.<schema>.<table-name>
(
<column-specification>
)
LOCATION 'abfss://<bucket-path>/<table-directory>';
لمزيد من المعلومات حول معلمات إنشاء الجدول، راجع إنشاء جدول.
عمليات كتابة إطار البيانات
ينشئ العديد من المستخدمين جداول خارجية من نتائج الاستعلام أو عمليات كتابة DataFrame. توضح المقالات التالية بعض الأنماط العديدة التي يمكنك استخدامها لإنشاء جدول خارجي على Azure Databricks:
إسقاط جدول خارجي
لإفلات جدول، يجب أن تكون مالكه. لإسقاط جدول خارجي، قم بتشغيل أمر SQL التالي:
DROP TABLE IF EXISTS catalog_name.schema_name.table_name;
لا يحذف كتالوج Unity البيانات الأساسية في التخزين السحابي عند إسقاط جدول خارجي. يجب حذف ملفات البيانات الأساسية مباشرة إذا كنت بحاجة إلى إزالة البيانات المقترنة بالجدول.
مثال على دفتر الملاحظات: إنشاء جداول خارجية
يمكنك استخدام مثال دفتر الملاحظات التالي لإنشاء كتالوج ومخطط وجدول خارجي، وإدارة الأذونات عليها.