Share via


CREATE TABLE LIKE

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

Varolan bir tablonun veya görünümün tanımını ve meta verilerini kullanarak bir tablo tanımlar.

Delta Lake, Databricks SQL ve Databricks Runtime 13.3 LTS ve üzeri sürümleri destekler CREATE TABLE LIKE . Databricks Runtime 12.2 LTS ve altında CREATE TABLE AS kullanın.

Sözdizimi

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 }

Parametreler

  • YOKSA

    belirtildiyse, zaten varsa deyimini table_name yoksayar.

  • Table_name

    Oluşturulacak tablonun adı. Ad bir zamansal belirtim içermemelidir. Ad uygun değilse, tablo geçerli şemada oluşturulur. Bir table_name zaten mevcut olmamalıdır.

  • source_table_name

    Tanımı kopyalanan tablonun adı. source_table_name ve table_name her ikisi de Hive meta veri deposunda veya her ikisi de Unity Kataloğu'nda olmalıdır.

  • table_clauses

    İsteğe bağlı olarak, yeni tablo için bir veri kaynağı biçimi, konum ve kullanıcı tanımlı özellikler belirtin. Her alt yan tümce yalnızca bir kez belirtilebilir.

    • KONUM yolu

      Tablo verilerinin depolandığı dizinin yolu; dağıtılmış depolamada bir yol olabilir. Bir konum belirtirseniz, yeni tablo bir dış tabloya dönüşür. Konum belirtmezseniz, tablo yönetilen bir tablodur.

      Yönetilen tabloların konumuyla çakışan konumlarda dış tablolar oluşturamazsınız.

    • TBLPROPERTIES

      İsteğe bağlı olarak bir veya daha fazla kullanıcı tanımlı özellik ayarlar.

    • data_source KULLANMA

      Tablo için kullanılacak dosya biçimi. data_source şulerden biri olmalıdır:

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

      Tablo için kullanılacak aşağıdaki ek dosya biçimleri Databricks Runtime'da desteklenir:

      • ORC
      • HIVE
      • LIBSVM
      • özel uygulamasının tam sınıf adı.org.apache.spark.sql.sources.DataSourceRegister

      Belirtmezseniz USING kaynak tablonun biçimi devralınır.

      Aşağıdakiler şunlar için geçerlidir: Databricks Runtime

      HIVE , Databricks Runtime'da Hive SerDe tablosu oluşturmak için desteklenir. Hive'a özgü file_format öğesini belirtebilir ve row_format büyük/küçük harfe duyarlı olmayan dize eşlemesi olan yan tümcesini kullanabilirsiniz OPTIONS . Şunlardır option_keys :

      • FILEFORMAT
      • INPUTFORMAT
      • OUTPUTFORMAT
      • SERDE
      • FIELDDELIM
      • ESCAPEDELIM
      • MAPKEYDELIM
      • LINEDELIM
    • SATıR BIÇIMI row_format

      Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks Runtime

      Özel bir SerDe belirtmek için, özel bir SerDe'nin tam sınıf adını ve isteğe bağlı SerDe özelliklerini olarak ayarlayın SERDE ve belirtin. Yerel SerDe'yi kullanmak için sınırlayıcı, kaçış karakteri, null karakter vb. değerini ayarlayın DELIMITED ve belirtin.

      • SERDEPROPERTIES

        SerDe tanımını etiketlemek için kullanılan anahtar-değer çiftlerinin listesi.

      • SONLANDıRıLAN ALANLAR

        Sütun ayırıcısı tanımlayın.

      • KAÇTI

        Kaçış mekanizmasını tanımlayın.

      • SONLANDıRıLAN KOLEKSIYON ÖĞELERI

        Koleksiyon öğesi ayırıcısı tanımlayın.

      • SONLANDıRıLAN EŞLEME ANAHTARLARı

        Eşleme anahtarı ayırıcısı tanımlayın.

      • SON VERİCİ SATıRLAR

        Satır ayırıcısı tanımlayın.

      • NULL OLARAK TANıMLANMıŞ

        için NULLbelirli bir değeri tanımlayın.

      • FARKLı DEPOLANIYOR

        Tablonun dosya biçimi. Kullanılabilir biçimler , SEQUENCEFILE, RCFILE, ORC, PARQUETve AVRObiçimlerini içerirTEXTFILE. Alternatif olarak ve aracılığıyla INPUTFORMATOUTPUTFORMATkendi giriş ve çıkış biçimlerinizi belirtebilirsiniz. Yalnızca , ve SEQUENCEFILERCFILE biçimleri TEXTFILEile ROW FORMAT SERDE kullanılabilir ve yalnızca TEXTFILE ile ROW FORMAT DELIMITEDkullanılabilir.

Notlar

Veri kaynağına ve hedefe bağlı olarak tabloların tüm özellikleri aktarılamaz.

CREATE TABLE LIKEkaynak bir Delta Lake Tablosu olduğunda:

Özellik/Özellik Hedef Delta Olmayan Tablo Hedef bir Delta Tablosudur
YORUM Yes Yes
Sütunlar Yes Yes
Bölüm sütunları Yes Yes
Yapılandırma Hayır Evet
Tablo Kısıtlaması Geçerli değil Yes
Delta Protokolü Geçerli değil Yes

CREATE TABLE LIKEkaynak bir Delta Lake Tablosu olmadığında:

Özellik/Özellik Hedef Delta Olmayan Tablo Hedef bir Delta Tablosudur
YORUM Yes Yes
Sütunlar Yes Yes
Bölüm sütunları Yes Yes
Yapılandırma Yes Yes
Tablo Kısıtlaması Hayır Evet
Delta Protokolü Hayır (Bu oturum için Geçerli Varsayılan Protokol) Yes

Örnekler

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

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