مشاركة عبر


إنشاء جدول مثل

ينطبق على: وضع علامة Databricks SQL وضع علامة Databricks Runtime

تعريف جدول باستخدام تعريف جدول أو طريقة عرض موجودة وبيانات تعريفها.

يدعم CREATE TABLE LIKE Delta Lake في Databricks SQL وDatabricks Runtime 13.3 LTS وما فوق. في Databricks Runtime 12.2 LTS وما يلي، استخدم CREATE TABLE AS.

بناء الجملة

CREATE TABLE [ IF NOT EXISTS ] table_name LIKE source_table_name [table_clauses]

table_clauses
   { USING data_source |
     LOCATION path |
     TBLPROPERTIES clause |
     ROW FORMAT row_format |
     STORED AS file_format } [...]

row_format
   { SERDE serde_class [ WITH SERDEPROPERTIES (serde_key = serde_val [, ...] ) ] |
     { DELIMITED [ FIELDS TERMINATED BY fields_terminated_char [ ESCAPED BY escaped_char ] ]
       [ COLLECTION ITEMS TERMINATED BY collection_items_terminated_char ]
       [ MAP KEYS TERMINATED BY map_key_terminated_char ]
       [ LINES TERMINATED BY row_terminated_char ]
       [ NULL DEFINED AS null_char ] } }

property_key
  { identifier [. ...] | string_literal }

المعلمات

  • إذا لم يكن موجودا

    إذا تم تحديد تجاهل العبارة إذا كانت table_name موجودة بالفعل.

  • table_name

    اسم الجدول المراد إنشاؤه. يجب ألا يتضمن الاسم مواصفات زمنية أو مواصفات خيارات. إذا لم يكن الاسم مؤهلا، يتم إنشاء الجدول في المخطط الحالي. يجب ألا يكون table_name موجودا بالفعل.

  • source_table_name

    اسم الجدول الذي تم نسخ تعريفه. source_table_nametable_name ويجب أن يكون كلاهما على Hive metastore، أو كلاهما على كتالوج Unity.

  • table_clauses

    حدد بشكل اختياري تنسيق مصدر البيانات والموقع والخصائص المعرفة من قبل المستخدم للجدول الجديد. يمكن تحديد كل عبارة فرعية مرة واحدة فقط.

    • مسار الموقع

      المسار إلى الدليل حيث يتم تخزين بيانات الجدول، والذي يمكن أن يكون مسارا على التخزين الموزع. إذا قمت بتحديد موقع، يصبح الجدول الجديد جدولا خارجيا. إذا لم تحدد موقعا، فإن الجدول عبارة عن جدول مدار.

      لا يمكنك إنشاء جداول خارجية في مواقع تتداخل مع موقع الجداول المدارة.

    • TBLPROPERTIES

      تعيين خاصية واحدة أو أكثر من الخصائص المعرفة من قبل المستخدم اختياريا.

    • استخدام data_source

      تنسيق الملف المراد استخدامه للجدول. data_source يجب أن يكون أحد:

      • TEXT
      • CSV
      • JSON
      • JDBC
      • PARQUET
      • DELTA

      يتم دعم تنسيقات الملفات الإضافية التالية لاستخدامها للجدول في Databricks Runtime:

      • ORC
      • HIVE
      • LIBSVM
      • اسم فئة مؤهل بالكامل لتنفيذ مخصص ل org.apache.spark.sql.sources.DataSourceRegister.

      إذا لم تحدد USING تنسيق الجدول المصدر، توريثه.

      ينطبق ما يلي على: Databricks Runtime

      HIVE معتمد لإنشاء جدول Hive SerDe في Databricks Runtime. يمكنك تحديد الخاص ب Hive file_format واستخدام row_format OPTIONS عبارة ، وهو مخطط سلسلة غير حساس لحالة الأحرف. وهي option_keys :

      • FILEFORMAT
      • INPUTFORMAT
      • OUTPUTFORMAT
      • SERDE
      • FIELDDELIM
      • ESCAPEDELIM
      • MAPKEYDELIM
      • LINEDELIM
    • row_format تنسيق الصف

      ينطبق على: وضع علامة Databricks Runtime

      لتحديد SerDe مخصص، قم بتعيين إلى SERDE وحدد اسم الفئة المؤهلة بالكامل ل SerDe مخصص وخصائص SerDe الاختيارية. لاستخدام SerDe الأصلي، قم بتعيين وتحديد DELIMITED المحدد وحرف الإلغاء والحرف الفارغ وما إلى ذلك.

      • خصائص SERDE

        قائمة أزواج قيم المفاتيح المستخدمة لوضع علامة على تعريف SerDe.

      • الحقول التي تم إنهاؤها بواسطة

        تعريف فاصل أعمدة.

      • تم الهروب من قبل

        حدد آلية الإلغاء.

      • تم إنهاء عناصر المجموعة بواسطة

        تعريف فاصل عناصر المجموعة.

      • تم إنهاء مفاتيح الخريطة بواسطة

        تعريف فاصل مفاتيح الخريطة.

      • الأسطر التي تم إنهاؤها بواسطة

        تعريف فاصل صف.

      • القيمة الخالية المعرفة على أنها

        حدد القيمة المحددة ل NULL.

      • مخزن ك

        تنسيق الملف للجدول. تتضمن TEXTFILEالتنسيقات المتوفرة و RCFILESEQUENCEFILEوORCPARQUET.AVRO بدلا من ذلك، يمكنك تحديد تنسيقات الإدخال والإخراج الخاصة بك من خلال INPUTFORMAT و OUTPUTFORMAT. يمكن استخدام التنسيقات TEXTFILESEQUENCEFILEو RCFILE فقط مع ROW FORMAT SERDE و فقط TEXTFILE يمكن استخدامها مع ROW FORMAT DELIMITED.

ملاحظات

اعتمادا على مصدر البيانات والهدف، لا يمكن نقل جميع خصائص الجداول.

CREATE TABLE LIKEعندما يكون المصدر جدول Delta Lake:

الميزة/الخاصية الهدف هو جدول غير دلتا الهدف هو جدول دلتا
التعليق ‏‏نعم‬ ‏‏نعم‬
الأعمدة ‏‏نعم‬ ‏‏نعم‬
أعمدة التقسيم ‏‏نعم‬ ‏‏نعم‬
التكوين لا ‏‏نعم‬
قيد الجدول غير منطبق ‏‏نعم‬
بروتوكول دلتا غير منطبق ‏‏نعم‬

CREATE TABLE LIKEعندما لا يكون المصدر جدول Delta Lake:

الميزة/الخاصية الهدف هو جدول غير دلتا الهدف هو جدول دلتا
التعليق ‏‏نعم‬ ‏‏نعم‬
الأعمدة ‏‏نعم‬ ‏‏نعم‬
أعمدة التقسيم ‏‏نعم‬ ‏‏نعم‬
التكوين ‏‏نعم‬ ‏‏نعم‬
قيد الجدول لا ‏‏نعم‬
بروتوكول دلتا لا (البروتوكول الافتراضي الحالي لتلك الجلسة) ‏‏نعم‬

الأمثلة

-- Create table using a new location
> CREATE TABLE Student_Dupli LIKE Student LOCATION '/path/to/data_files';

-- Create table like using a data source
> CREATE TABLE Student_Dupli LIKE Student USING CSV LOCATION '/path/to/csv_files';