Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Применяется для:
Databricks SQL
Databricks Runtime
Определяет различные виды объектов в Azure Databricks.
Следующие ограничения применяются ко всем именам объектов в каталоге Unity:
- Имена объектов не могут превышать 255 символов.
- Не допускаются следующие специальные символы:
- Период (
.) - Пробел (
) - Прямая косая черта (
/) - Все символы управления ASCII (00-1F шестнадцатеричное число)
- Символ DELETE (шестнадцатеричное значение 7F)
- Период (
- Каталог Unity сохраняет все имена объектов в нижнем регистре.
- При ссылке на имена UC в SQL необходимо использовать обратные кавычки для экранирования имён, содержащих специальные символы, такие как дефисы (
-).
Примечание.
Имена столбцов могут использовать специальные символы, но в случае использования специальных символов имя должно заключаться в обратные кавычки во всех SQL-запросах. Каталог Unity сохраняет регистр имен столбцов, но запросы к таблицам Каталога Unity нечувствительны к регистру.
Имя подключения
Определяет внешнее подключение.
Внешнее подключение служит ссылкой на внешнюю систему, например PostgreSQL и может использоваться для ссылки на каталоги, схемы и таблицы.
Синтаксис
connection_identifier
Параметры
Примеры
> CREATE CONNECTION my_postgresql ...;
Имя каталога
Определяет каталог. Каталог предоставляет группирование объектов, которые можно разделить на схемы.
Синтаксис
catalog_identifier
Параметры
- catalog_identifier: идентификатор, который уникально определяет каталог.
Примеры
> USE CATALOG hive_metastore;
> CREATE CATALOG mycatalog;
-- Creating a catalog with a special character requires back ticks
> CREATE CATALOG `cat-a-log`;
-- Creating a catalog with non ASCII characters requires back ticks
> USE `目录`;
-- space (' '), '/', and '.' are not allowed in catalog names, even with back ticks.
> CREATE CATALOG `cat a log`;
ERROR
Имя схемы
Определяет схему. Схема предоставляет группирование объектов в каталоге.
Синтаксис
{ [ catalog_name . ] schema_identifier |
IDENTIFIER clause }
Параметры
- catalog_name: имя в существующем каталоге.
- schema_identifier: идентификатор, который уникально определяет схему.
-
IDENTIFIER предложение: сопоставление константы
STRINGс именем схемы.
Схемы, созданные в hive_metastore, могут содержать только буквенно-цифровые символы ASCII и символы подчеркивания (INVALID_SCHEMA_OR_RELATION_NAME).
Примеры
> USE SCHEMA default;
> CREATE SCHEMA my_sc;
-- In Hive Metastore, schema names must only consist of ASCII letters, digits and '_'
> CREATE SCHEMA hive_metastore.`a-b`;
Error: INVALID_SCHEMA_OR_RELATION_NAME
-- In Unity Catalog only space (' '), '/', and '.' are not allowed
> CREATE SCHEMA main.`a-b`;
> CREATE SCHEMA `a b`;
Error
-- Use back-ticks to reference or create schemas in Unity Catalog with non-ASCII characters
> CREATE SCHEMA `数据库架构`;
Имя базы данных
Синоним к имени схемы.
Хотя использование SCHEMA и DATABASE является взаимозаменяемым, предпочтительно использовать SCHEMA.
Имя таблицы
Определяет объект таблицы. Таблица может быть определяемой при использовании имени схемы или неопределяемой при использовании простого идентификатора.
Синтаксис
{ [ schema_name . ] table_identifier |
IDENTIFIER clause |
{ file_format | `file_format` } . `path_to_table` } [ temporal_spec ] [ options_spec ] }
temporal_spec
{
@ timestamp_encoding |
@V version |
[ FOR ] { SYSTEM_TIMESTAMP | TIMESTAMP } AS OF timestamp_expression |
[ FOR ] { SYSTEM_VERSION | VERSION } AS OF version
}
options_spec
WITH ( { option_key [ = ] option_val } [, ...] )
option_key
{ identifier [. ...] | string_literal }
Параметры
schema_name: полное или неполное имя схемы, содержащей таблицу.
table_identifier: идентификатор, который определяет имя таблицы или table_alias.
file_format: одно из следующих значений:
json,csv,avro,parquet,orc,binaryFile,text,delta(регистр не важен).path_to_table: расположение таблицы в файловой системе. Необходимо иметь разрешение
ANY_FILEдля использования этого синтаксиса.предложение IDENTIFIER: сопоставление константы
STRINGс именем таблицы.temporal_spec: при использовании ссылается на таблицу Delta в указанный момент времени или на указанную версию.
Временную спецификацию можно использовать только в контексте запроса или MERGE USING.
-
@ timestamp_encoding: положительный литерал BigInt, который кодирует временную метку в формате
yyyyMMddHHmmssSSS. - @V version: положительный целочисленный литерал, который определяет версию таблицы Delta.
-
timestamp_expression: простое выражение, результатом которого является TIMESTAMP.
timestamp_expressiomдолжно быть константным выражением, но может содержатьcurrent_date()илиcurrent_timestamp(). - version: Целочисленный или строковый литерал, определяющий версию таблицы Delta.
-
@ timestamp_encoding: положительный литерал BigInt, который кодирует временную метку в формате
option_spec: При использовании определяет директивы, которые передаются в источник данных, такие как учетные данные для доступа к расположению хранилища или для управления поведением
'write.split-size'INSERT.клавиша опции
Клавиша Option. Ключ может состоять из одного или нескольких идентификаторов, разделенных точкой, или строкового литерала.
Клавиши выбора должны быть уникальными и чувствительны к регистру.
option_val
Значение для варианта. Константное выражение типа
BOOLEAN, илиSTRINGINTEGERDECIMAL.
Таблицы, созданные в hive_metastore, могут содержать только буквенно-цифровые символы ASCII и символы подчеркивания (INVALID_SCHEMA_OR_RELATION_NAME).
Если имя не квалифицировано и не ссылается на известный псевдоним таблицы, Azure Databricks сначала пытается найти таблицу в текущей схеме.
Если имя квалифицировано с помощью схемы, Azure Databricks пытается разрешить таблицу в текущем каталоге.
Для получения дополнительной информации о разрешении имен см. раздел "Таблица и разрешение представлений".
Azure Databricks вызывает ошибку, если используется temporal_spec для таблицы, которая не находится в формате Delta Lake.
Примеры
-- A back quoted table name
> SELECT * FROM `Employees`;
-- A table name without back quotes
> SELECT * FROM employees;
-- A schema qualified table name
> SELECT * FROM hr.employees;
-- A schema qualified table name with back quotes for schema and table
> SELECT * FROM `hr`.`employees`;
-- A fully qualified table name
> SELECT * FROM hive_metastore.default.tab;
-- A reference to an information schema table.
> SELECT * FROM system.information_schema.columns;
-- Referencing a path as a table requires back ticks
> SELECT * FROM delta.`somedir/delta_table`;
> SELECT * FROM `csv`.`spreadsheets/data.csv`;
> SELECT * FROM `csv`.`spreadsheets/data.csv` WITH (CREDENTIAL some_credential)
> INSERT INTO t WITH ('write.split-size' 10) SELECT * FROM s;
-- Tables in `hive_metastore` can only contain alphanumeric ASCII characters and underscores
> CREATE TABLE hive_metastore.default.t1(c1 INT);
> CREATE TABLE hive_metastore.default.`表一`(c1 INT);
Error: INVALID_SCHEMA_OR_RELATION_NAME
-- Use back-ticks to reference or create tables in Unity Catalog with non ASCII characters
> CREATE TABLE main.`瑞赛奇`.`表一`(c1 INT);
Имя вида
Определяет представление. Представление может быть квалифицированным при использовании имени схемы или неквалифицированным при использовании простого идентификатора.
Синтаксис
{ [ schema_name . ] view_identifier |
IDENTIFIER clause }
Параметры
- schema_name: полное или неполное имя схемы, которая содержит представление.
- view_identifier: идентификатор, который определяет имя представления или идентификатор представления CTE.
-
IDENTIFIER условие: сопоставление константы
STRINGс именем представления.
Представления, созданные в hive_metastore, могут содержать только буквенно-цифровые символы ASCII и символы подчеркивания (INVALID_SCHEMA_OR_RELATION_NAME).
Примеры
-- A back quoted view name
> SELECT * FROM `Employees`;
-- A view name without back quotes
> SELECT * FROM employees;
-- A schema qualified view name
> SELECT * FROM hr.employees;
-- A schema qualified view name with back quotes for schema and table
> SELECT * FROM `hr`.`employees`;
-- A fully qualified view name
> SELECT * FROM hive_metastore.default.tab;
-- Views in `hive_metastore` can only contain alphanumeric ASCII characters and underscores
> CREATE VIEW hive_metastore.default.v1(c1) AS SELECT 1;
> CREATE VIEW hive_metastore.default.`数据库视图一`(c1 INT);
Error: INVALID_SCHEMA_OR_RELATION_NAME
-- Use back-ticks to reference or create tables in Unity Catalog with non ASCII characters
> CREATE VIEW main.`瑞赛奇`.`数据库视图一`(c1) AS SELECT 1;
Имя отношения
Определяет представление или таблицу. Отношение может быть квалифицированным с именем схемы или неквалифицированным с помощью простого идентификатора.
Синтаксис
{ table_name | view_name }
Примеры
-- A back quoted relation name
> SELECT * FROM `Employees`;
-- A relation name without back quotes
> SELECT * FROM employees;
-- A schema qualified relation name
> SELECT * FROM hr.employees;
Имя столбца
Определяет столбец в связи. Столбец может быть квалифицирован с именем отношения или неквалифицирован с помощью простого идентификатора.
Синтаксис
{ [ relation_name . ] column_identifier |
IDENTIFIER clause }
Параметры
- table_name: полное или неполное имя таблицы, содержащей столбец.
- view_name: полное или неполное имя представления, содержащего столбец.
- column_identifier: идентификатор, который определяет имя столбца.
- предложение IDENTIFIER: сопоставление константы
STRINGс названием столбца.
Указанный столбец должен существовать в связи.
Azure Databricks поддерживает специальный столбец _metadata. Этот псевдостолбец типа struct присутствует в каждой таблице и может использоваться для получения метаданных о записях в таблице.
Предупреждение
Если схема таблицы содержит столбец с именем _metadata, запросы возвращают столбец из источника данных, а не метаданные файла. Псевдоколонтитум _metadata не будет доступен.
Имена столбцов в таблицах Delta Lake без свойства сопоставления столбцов ('delta.columnMapping.mode' = 'name') не должны содержать символы ' ' (пробел), ',', , ';''{', '}', . '('')'
'\n', '\t'и '='.
Имя столбца в AVRO таблицах должно начинаться с '_' буквы Юникода (включая буквы, отличные от ASCII) и следовать сочетанию '_'букв Юникода и цифр.
Примеры
-- An unqualified column name
> SELECT c1 FROM VALUES(1) AS T(c1);
c1
1
-- A qualified column name
> SELECT T.c1 FROM VALUES(1) AS T(c1);
c1
1
-- Using _metadata to retrieve information about rows retrieved from T.
> CREATE TABLE T(c1 INT);
> INSERT INTO T VALUES(1);
> SELECT T._metadata.file_size;
574
-- A delimited column name
> CREATE TABLE T(`sütun1`);
Имя поля
Определяет поле в структуре. Поле должно быть полностью определено с использованием пути к структуре, содержащей это поле.
Синтаксис
{ expr { . field_identifier [. ...] } |
IDENTIFIER clause }
Параметры
- expr: выражение типа STRUCT.
- field_identifier: идентификатор, который определяет имя поля.
-
IDENTIFIER предложение: сопоставление константы
STRINGс именем поля.
На глубоко вложенное поле можно сослаться, указав идентификатор поля вместе с путем к корневой структуре.
Имена полей в таблицах Delta Lake без свойства сопоставления столбцов ('delta.columnMapping.mode' = 'name') не должны содержать символы ' ' (пробел), ',', , ';''{', '}', , . '('')'
'\n', '\t'и '='.
Имя поля в AVRO таблицах должно начинаться с '_' буквы Юникода (включая буквы, отличные от ASCII) и следовать сочетанию '_'букв Юникода и цифр.
Примеры
> SELECT addr.address.name
FROM VALUES (named_struct('address', named_struct('number', 5, 'name', 'Main St'),
'city', 'Springfield')) as t(addr);
Main St
-- Delimited field names with non ASCII letters
> CREATE TABLE T(c1 struct<`атрибут1` INT, `атрибут2`>);
> SELECT c1.`атрибут1` FROM T;
Имя переменной
Определяет временную переменную (сеанс).
Переменная может быть квалифицирована с именем схемы (system.session или session) или не квалифицирована с помощью простого идентификатора.
Синтаксис
{ [ schema_name . ] variable_identifier |
IDENTIFIER clause }
Параметры
-
schema_name:
system.sessionилиsessionсодержит все временные переменные. - variable_identifier: идентификатор, указывающий имя переменной.
Примеры
-- Declaring a session variable with a qualified name.
> DECLARE session.myvar = 5;
-- Setting a session variable with an unqualified name.
> SET VAR myvar = 6
-- Declaring a session variable with a fully qualified name an non-ASCII characters.
> DECLARE system.session.`圆周率` = 3.14;
Имя функции
Определяет функцию. Функция может быть определяемой при использовании имени схемы или неопределяемой при использовании простого идентификатора.
Синтаксис
{ [ schema_name . ] function_identifier |
IDENTIFIER clause }
Параметры
- schema_name: полное или неполное имя схемы, содержащей функцию.
- function_identifier: идентификатор, который определяет имя функции.
-
IDENTIFIER предложение: сопоставление константы
STRINGс именем функции.
Функции, созданные в hive_metastore, могут содержать только буквенно-цифровые символы ASCII и символы подчеркивания.
Примеры
-- Creating a SQL function with a qualified name
> CREATE FUNCTION math.myplus(x INT, y INT) RETURN x + y;
-- Invoking a function with an unqualified name
> SELECT myplus()
-- Creating a SQL function with non-ASCII characters;
> CREATE FUNCTION `圆周率`() RETURN 3.14;
Имя процедуры
Определяет процедуру. Процедура может быть квалифицирована с именем схемы или не квалифицирована с помощью простого идентификатора.
Синтаксис
{ [ schema_name . ] procedure_identifier |
IDENTIFIER clause }
Параметры
- schema_name: полное или некавалифицированное имя схемы, содержащее процедуру.
- procedure_identifier: идентификатор, указывающий имя процедуры.
-
IDENTIFIER предложение: сопоставление константы
STRINGс именем процедуры.
Примеры
-- Invoking a procedure.
> CALL myproc();
Наименование параметра
Определяет параметр в тексте определяемой пользователем функции SQL (UDF SQL) или процедуре. Параметр может быть квалифицирован с помощью идентификатора подпрограммы или неквалифицирован с помощью простого идентификатора.
Синтаксис
[ routine_identifier . ] parameter_identifier
Параметры
- routine_identifier: идентификатор, указывающий имя функции или процедуры.
- parameter_identifier: идентификатор, который определяет имя параметра.
Примеры
-- Create a function with undelimited parameters and reference them as qualified and nonqualified.
> CREATE FUNCTION area(x INT, y INT) RETURNS INT
RETURN area.x + y;
-- Create a function with non-ASCII character parameters
> CREATE FUNCTION full_name(`prénom` STRING, `nom` STRING) RETURNS STRING
RETURN `prénom` + ' ' + `nom`;
Имя метки
Определяет метку составной инструкции или инструкции цикла.
Синтаксис
label_identifier
Параметры
- label_identifier: идентификатор, указывающий имя метки.
Примеры
-- Execute a loop named `label` and leave it right away.
> BEGIN
label: LOOP
LEAVE label;
END LOOP label;
END;
Название условия
Определяет системный класс ошибок или определяемое пользователем условие, определенное в составной инструкции.
Синтаксис
condition_identifier
Параметры
- condition_identifier: идентификатор, указывающий имя условия.
Примеры
-- Declare an exit handler for a DIVIDE_BY_ZERO condition
BEGIN
DECLARE a INT DEFAULT 1;
DECLARE b INT DEFAULT 5;
DECLARE EXIT HANDLER FOR DIVIDE_BY_ZERO
BEGIN
VALUES (15);
END;
SET a = 10;
SET a = b / 0;
VALUES (a);
END;
15
Псевдоним таблицы
Помечает ссылку на таблицу, запрос, табличную функцию или другую форму отношения.
Синтаксис
[ AS ] table_identifier [ ( column_identifier1 [, ...] ) ]
Параметры
- table_identifier: идентификатор, который определяет имя таблицы.
- column_identifierN: необязательный идентификатор, который определяет имя столбца.
Если вы предоставляете идентификаторы столбцов, их количество должно совпадать с количеством столбцов в сопоставленном отношении.
Если вы не предоставляете идентификаторы столбцов, их имена наследуются от помеченного отношения.
Примеры
-- Defining a table alias with column list
> SELECT a, b FROM VALUES (1, 2) AS t(a, b);
a b
1 2
-- Defining a table alias without column list
> DELETE FROM emp AS e WHERE e.c1 = 5;
-- Defining a table alias with non ASCII characters
> SELECT * FROM employee AS `직원`;
Псевдоним столбца
Помечает результат выражения в списке SELECT для справки.
Если выражение является возвращающей табличное значение функцией генератора, псевдоним помечает список создаваемых столбцов.
Синтаксис
[AS] column_identifier
[AS] ( column_identifier [, ...] )
Параметры
- column_identifier: идентификатор, который определяет имя столбца.
Хотя псевдонимы столбцов могут не быть уникальными в списке выбора, уникальность является требованием при создании ссылок на псевдоним по имени.
Примеры
-- An undelimited alias
> SELECT 1 AS a;
a
1
> SELECT 1 a, 2 b;
a b
1 2
-- A delimited alias with non-ASCII characters
> SELECT 3.14 AS `圆周率`;
a
1
-- Referencing a passed column alias
> SELECT a + a FROM (SELECT 1 AS a);
a
2
Имя колляции
Определяет параметры сортировки для столбца или выражения.
Синтаксис
collation_identifier
Параметры
- collation_identifier: идентификатор, указывающий имя сортировки.
Список поддерживаемых параметров сортировки см. в разделе Поддерживаемые параметры сортировки. Дополнительные сведения о сортировках см. в разделе .
Примеры
> SELECT 'hello' COLLATE UNICODE_CI;
hello
Название учетной записи
Идентифицирует учетные данные для доступа к хранилищу во внешнем расположении или облачных службах с помощью SDK поставщика.
Синтаксис
credential_identifier
Параметры
- credential_identifier: неполный идентификатор, который уникально определяет учетные данные.
Примеры
`my_storage_cred`
my_storage_cred
Название местоположения
Определяет расположение внешнего хранилища.
Синтаксис
location_identifier
Параметры
- location_identifier: простой идентификатор, который уникально определяет местоположение.
Примеры
`s3-json-data`
s3_json_data
Имя сетевого ресурса
Определяет ресурс для доступа к данным, предоставленным поставщиком.
Синтаксис
share_identifier
Параметры
- share_identifier: неквалифицированный идентификатор, который уникально определяет общую папку.
Примеры
`public info`
`public-info`
public_info
Имя поставщика
Определяет поставщика Delta Sharing.
Синтаксис
provider_identifier
Параметры
-
Неквалифицированный идентификатор, который уникально определяет поставщика.
Примеры
`Good Corp`
`Good-corp`
Good_Corp
Имя получателя.
Определяет получателя для доли.
Синтаксис
recipient_identifier
Параметры
- recipient_identifier: неполный идентификатор, который уникально определяет получателя.
Примеры
`Good Corp`
`Good-corp`
Good_Corp
Имя чистой комнаты
Определяет чистую комнату для группы сотрудников.
Синтаксис
clean_room_identifier
Параметры
- clean_room_identifier: неквалифицированный идентификатор, который однозначно задает чистую комнату в хранилищах метаданных участников совместной работы.
Примеры
`Clean-Room`
Clean_Room
Имя тома
Определяет том каталога Unity. Том может быть квалифицирован с именем схемы или неквалифицирован с помощью простого идентификатора.
Синтаксис
[ schema_name .] volume_identifier
Параметры
- schema_name: квалифицированное или неквалифицированное имя схемы, содержащее том.
- volume_identifier: неквалифицированный идентификатор, который однозначно идентифицирует том в схеме.
Примеры
`myVolume`
`my-volume`
myschema.myVolume
my_unity_catalog.my_schema.my_volume