إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على:
Databricks SQL
Databricks Runtime
يتكون القسم من مجموعة فرعية من الصفوف في جدول تشترك في نفس القيمة لمجموعة فرعية معرفة مسبقا من الأعمدة تسمى أعمدة التقسيم. يمكن أن يؤدي استخدام الأقسام إلى تسريع الاستعلامات مقابل الجدول بالإضافة إلى معالجة البيانات.
لاستخدام الأقسام، يمكنك تعريف مجموعة عمود التقسيم عند إنشاء جدول عن طريق تضمين عبارة PARTITIONED BY .
عند إدراج صفوف أو معالجتها في جدول يقوم Azure Databricks تلقائيا بإرسال الصفوف إلى الأقسام المناسبة.
يمكنك أيضا تحديد القسم مباشرة باستخدام عبارة PARTITION .
يتوفر بناء الجملة هذا أيضا للجداول التي لا تستخدم تنسيق Delta Lake أو إلى DROPأو ADD RENAME الأقسام بسرعة باستخدام عبارة ALTER TABLE .
مقسمة حسب
PARTITIONED BY حددت العبارة قائمة من الأعمدة التي يتم تقسيم الجدول الجديد على طولها.
بناء الجملة
PARTITIONED BY ( { partition_column [ column_type ] } [, ...] )
المعلمات
-
قد يشير المعرف إلى
column_identifierفي الجدول. إذا قمت بتحديد أكثر من عمود واحد، يجب ألا تكون هناك تكرارات. إذا قمت بالإشارة إلى كافة الأعمدة في الجدولcolumn_specification، يتم رفع الخطأ. -
ما لم
partition_columnيشير إلىcolumn_identifierفي الجدولcolumn_specification،column_typeيحدد نوعpartition_columnبيانات .لا تدعم جميع مصادر البيانات جميع أنواع البيانات التي يدعمها Databricks SQL.
ملاحظات
ما لم تقم بتعريف أعمدة تقسيم جدول Delta Lake التي تشير إلى الأعمدة في مواصفات العمود، يتم دائما نقلها إلى نهاية الجدول.
قسم
يمكنك استخدام PARTITION عبارة لتحديد قسم للاستعلامات أو معالجته.
يتم تعريف القسم عن طريق تسمية جميع أعمدةه وربط كل منها بقيمة. لا تحتاج إلى تحديدها بترتيب معين.
ما لم تقم بإضافة قسم جديد إلى جدول موجود، يمكنك حذف الأعمدة أو القيم للإشارة إلى أن العملية تنطبق على جميع الأقسام المتطابقة التي تطابق المجموعة الفرعية للأعمدة.
PARTITION ( { partition_column [ = partition_value | LIKE pattern ] } [ , ... ] )
المعلمات
-
عمود يسمى عمود قسم للجدول. لا يجوز لك تحديد العمود نفسه مرتين.
= partition_valueقيمة حرفية لنوع بيانات يطابق نوع عمود القسم. إذا حذفت قيمة قسم، فستتطابق المواصفات مع جميع القيم لعمود القسم هذا.
LIKE patternيسمح بهذا النموذج فقط في ALTER SHARE ADD TABLE.
يطابق تمثيل
partition_columnسلسلة إلىpattern.patternيجب أن تكون سلسلة حرفية كما هو مستخدم في LIKE.
الأمثلة
-- Use the PARTTIONED BY clause in a table definition
> CREATE TABLE student(university STRING,
major STRING,
name STRING)
PARTITIONED BY(university, major)
> CREATE TABLE professor(name STRING)
PARTITIONED BY(university STRING,
department STRING);
-- Use the PARTITION specification to INSERT into a table
> INSERT INTO student
PARTITION(university= 'TU Kaiserslautern') (major, name)
SELECT major, name FROM freshmen;
-- Use the partition specification to add and drop a partition
> CREATE TABLE log(date DATE, id INT, event STRING)
USING CSV
PARTITIONED BY (date);
> ALTER TABLE log ADD PARTITION(date = DATE'2021-09-10');
> ALTER TABLE log DROP PARTITION(date = DATE'2021-09-10');
-- Drop all partitions from the named university, independent of the major.
> ALTER TABLE student DROP PARTITION(university = 'TU Kaiserslautern');