Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Область применения:
Databricks SQL
Databricks Runtime
Определяет таблицу с помощью определения и метаданных существующей таблицы.
Delta Lake поддерживает CREATE TABLE LIKE в 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 должно быть уникальным.
-
Имя таблицы, определение которой копируется.
source_table_nameиtable_nameдолжны находиться в хранилище метаданных Hive или в каталоге Unity. table_clauses
При необходимости укажите формат источника данных, расположение и пользовательские свойства новой таблицы. Каждое вложенное предложение может быть указано только один раз.
LOCATION путь
Путь к каталогу, в котором хранятся данные таблицы, который может быть путем в распределённом хранилище. Если указать расположение, новая таблица становится внешней таблицей. Если вы не укажете расположение, таблица будет являться управляемой таблицей .
Нельзя создавать внешние таблицы в расположениях, перекрывающихся расположением управляемых таблиц.
-
При необходимости задает одно или несколько свойств, определяемых пользователем.
ИСПОЛЬЗОВАНИЕ data_source
Формат файла, используемый для таблицы.
data_sourceдолжно иметь одно из следующих значений:TEXTCSVJSONJDBCPARQUETDELTA
В Databricks Runtime поддерживаются следующие дополнительные форматы файлов для таблицы:
ORCHIVELIBSVM- Полное имя класса пользовательской реализации
org.apache.spark.sql.sources.DataSourceRegister.
Если не указать
USINGформат исходной таблицы наследуется.Ниже приведено следующее: Databricks Runtime
HIVEподдерживается для создания таблицы Hive SerDe в Databricks Runtime. Можно указать параметрыfile_formatиrow_formatдля Hive, используя для этого предложениеOPTIONS. Оно представляет собой сопоставление в виде строки без учета регистра.option_keysявляются:FILEFORMATINPUTFORMATOUTPUTFORMATSERDEFIELDDELIMESCAPEDELIMMAPKEYDELIMLINEDELIM
ФОРМАТ СТРОКИ row_format
Область применения:
Databricks RuntimeЧтобы указать пользовательский SerDe, задайте значение
SERDEи укажите полное имя класса пользовательского SerDe, а также необязательные свойства SerDe. Чтобы использовать собственный SerDe, установите значениеDELIMITEDи укажите разделитель, символ экранирования, символ null, и так далее.SERDEPROPERTIES
Список пар "ключ-значение", используемых для маркировки определения SerDe.
ПОЛЯ РАЗДЕЛЕНЫ ЗНАКОМ
Определите разделитель столбцов.
ОСВОБОЖДЕНО
Определяет механизм экранирования.
ЭЛЕМЕНТЫ КОЛЛЕКЦИИ ЗАВЕРШЕНЫ
Определяет разделитель элементов сбора.
КЛЮЧИ КАРТЫ ЗАВЕРШЕНЫ
Определяет разделитель ключей сопоставления.
СТРОКИ, ЗАВЕРШАЕМЫЕ ПО
Определяет разделитель строк.
NULL ОПРЕДЕЛЕН КАК
Определяет конкретное значение для
NULL.СОХРАНЕНО В ВИДЕ
Формат файла для таблицы. Доступные форматы:
TEXTFILE,SEQUENCEFILE,RCFILE,ORC,PARQUETиAVRO. Кроме того, можно указать собственные форматы входных и выходных данных с помощьюINPUTFORMATиOUTPUTFORMAT. СTEXTFILEможно использовать только форматыSEQUENCEFILE,RCFILEиROW FORMAT SERDE, а сTEXTFILE— только форматROW FORMAT DELIMITED.
Примечания.
В зависимости от источника и целевых данных не все свойства таблиц могут быть переданы.
| Функция или свойство | Целевой объект — не таблица Delta | Назначение — таблица Delta |
|---|---|---|
| КОММЕНТАРИЙ | Да | Да |
| Столбцы | Да | Да |
| Столбцы секционирования | Да | Да |
| Настройка | No | Да |
| Ограничение таблицы | Н/Д | Да |
| Разностный протокол | Н/Д | Да |
CREATE TABLE LIKE, если источник не является таблицей Delta Lake:
| Функция или свойство | Целевой объект — не таблица Delta | Назначение — таблица Delta |
|---|---|---|
| КОММЕНТАРИЙ | Да | Да |
| Столбцы | Да | Да |
| Столбцы секционирования | Да | Да |
| Настройка | Да | Да |
| Ограничение таблицы | No | Да |
| Разностный протокол | Нет (текущий протокол по умолчанию для этого сеанса) | Да |
Примеры
-- 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';