Udostępnij za pośrednictwem


CREATE TABLE LIKE

Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks SQL zaznacz pole wyboru oznaczone jako tak Databricks Runtime

Definiuje tabelę przy użyciu definicji i metadanych istniejącej tabeli lub widoku.

Usługa Delta Lake obsługuje usługi CREATE TABLE LIKE Databricks SQL i Databricks Runtime 13.3 LTS i nowsze. W środowisku Databricks Runtime 12.2 LTS i poniżej użyj polecenia CREATE TABLE AS.

Składnia

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 }

Parametry

  • JEŚLI NIE ISTNIEJE

    Jeśli określono, ignoruje instrukcję , jeśli table_name już istnieje.

  • table_name

    Nazwa tabeli do utworzenia. Nazwa nie może zawierać specyfikacji czasowej ani specyfikacji opcji. Jeśli nazwa nie jest kwalifikowana, tabela zostanie utworzona w bieżącym schemacie. Table_name nie może jeszcze istnieć.

  • source_table_name

    Nazwa tabeli, której definicja jest kopiowana. source_table_name i table_name muszą znajdować się w magazynie metadanych Programu Hive lub w katalogu aparatu Unity.

  • table_clauses

    Opcjonalnie określ format źródła danych, lokalizację i właściwości zdefiniowane przez użytkownika dla nowej tabeli. Każda klauzula podrzędna może być określona tylko raz.

    • ŚCIEŻKA LOKALIZACJI

      Ścieżka do katalogu, w którym są przechowywane dane tabeli, co może być ścieżką do magazynu rozproszonego. Jeśli określisz lokalizację, nowa tabela stanie się tabelą zewnętrzną. Jeśli nie określisz lokalizacji, tabela jest tabelą zarządzaną.

      Nie można tworzyć tabel zewnętrznych w lokalizacjach nakładających się na lokalizację zarządzanych tabel.

    • TBLPROPERTIES

      Opcjonalnie ustawia co najmniej jedną właściwość zdefiniowaną przez użytkownika.

    • UŻYWANIE data_source

      Format pliku do użycia dla tabeli. data_source musi być jednym z:

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

      Następujące dodatkowe formaty plików do użycia w tabeli są obsługiwane w środowisku Databricks Runtime:

      • ORC
      • HIVE
      • LIBSVM
      • w pełni kwalifikowana nazwa klasy niestandardowej implementacji org.apache.spark.sql.sources.DataSourceRegister.

      Jeśli nie określisz USING formatu tabeli źródłowej, zostanie odziedziczony.

      Dotyczy to następujących elementów: Databricks Runtime

      HIVE Program jest obsługiwany do tworzenia tabeli Usługi Hive SerDe w środowisku Databricks Runtime. Można określić specyficzne dla file_format programu Hive i row_format użyć OPTIONS klauzuli , która jest mapą ciągów bez uwzględniania wielkości liter. Oto option_keys :

      • FILEFORMAT
      • INPUTFORMAT
      • OUTPUTFORMAT
      • SERDE
      • FIELDDELIM
      • ESCAPEDELIM
      • MAPKEYDELIM
      • LINEDELIM
    • ROW_FORMAT FORMAT WIERSZA

      Dotyczy: zaznacz pole wyboru oznaczone jako tak Databricks Runtime

      Aby określić niestandardową metodę SerDe, ustaw SERDE na i określ w pełni kwalifikowaną nazwę klasy niestandardowego serde i opcjonalnych właściwości SerDe. Aby użyć natywnego serde, ustaw DELIMITED i określ ogranicznik, znak ucieczki, znak null itd.

      • SERDEPROPERTIES

        Lista par klucz-wartość używana do tagowania definicji SerDe.

      • POLA ZAKOŃCZONE PRZEZ

        Zdefiniuj separator kolumny.

      • UCIECZKA PRZEZ

        Zdefiniuj mechanizm ucieczki.

      • ELEMENTY KOLEKCJI ZAKOŃCZONE PRZEZ

        Zdefiniuj separator elementu kolekcji.

      • MAPUJ KLUCZE ZAKOŃCZONE PRZEZ

        Zdefiniuj separator klucza mapy.

      • WIERSZE ZAKOŃCZONE PRZEZ

        Zdefiniuj separator wierszy.

      • WARTOŚĆ NULL ZDEFINIOWANA JAKO

        Zdefiniuj konkretną wartość dla elementu NULL.

      • PRZECHOWYWANE JAKO

        Format pliku tabeli. Dostępne formaty obejmują TEXTFILE, , SEQUENCEFILE, ORCRCFILE, PARQUET, i AVRO. Alternatywnie można określić własne formaty wejściowe i wyjściowe za pomocą poleceń INPUTFORMAT i OUTPUTFORMAT. Tylko formaty TEXTFILE, SEQUENCEFILEi RCFILE mogą być używane tylko z parametrami ROW FORMAT SERDE i można ich używać tylko TEXTFILE w programie ROW FORMAT DELIMITED.

Uwagi

W zależności od źródła danych i elementu docelowego nie wszystkie właściwości tabel mogą być przenoszone.

CREATE TABLE LIKEgdy źródłem jest tabela usługi Delta Lake:

Funkcja/właściwość Element docelowy jest tabelą inną niż delta Element docelowy to tabela delty
KOMENTARZ Tak Tak
Kolumny Tak Tak
Partycjonowanie kolumn Tak Tak
Konfigurowanie Nie. Tak
Ograniczenie tabeli Nie dotyczy Tak
Protokół delta Nie dotyczy Tak

CREATE TABLE LIKEgdy źródło nie jest tabelą usługi Delta Lake:

Funkcja/właściwość Element docelowy jest tabelą inną niż delta Element docelowy to tabela delty
KOMENTARZ Tak Tak
Kolumny Tak Tak
Partycjonowanie kolumn Tak Tak
Konfigurowanie Tak Tak
Ograniczenie tabeli Nie. Tak
Protokół delta Nie (bieżący protokół domyślny dla tej sesji) Tak

Przykłady

-- 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';