Názvy

Platí pro:zaškrtnutí označeného ano Databricks SQL zaškrtnutí označeného ano Databricks Runtime

Identifikuje různé druhy objektů v Azure Databricks.

Pro všechny názvy objektů v katalogu Unity platí následující omezení:

  • Názvy objektů nesmí překročit 255 znaků.
  • Následující speciální znaky nejsou povoleny:
    • Období (.)
    • Mezera ( )
    • Lomítko (/)
    • Všechny řídicí znaky ASCII (šestnáctkové 00–1F)
    • Znak DELETE (šestnáctkový 7F)
  • Katalog Unity ukládá všechny názvy objektů malými písmeny.
  • Při odkazování na názvy UC v SQL je nutné použít backticks k řídicím názvům, které obsahují speciální znaky, jako jsou spojovníky (-).

Poznámka:

Názvy sloupců můžou používat speciální znaky, ale pokud se použijí speciální znaky, musí být název uchycený pomocí zpětných znamétek ve všech příkazech SQL. Katalog Unity zachovává velikost písmen názvů sloupců, ale dotazy na tabulky katalogu Unity nerozlišují malá a velká písmena.

Název připojení

Identifikuje cizí připojení. Cizí připojení slouží jako propojení s cizím systémem, jako PostgreSQL je například odkaz na jeho katalogy, schémata a tabulky.

Syntaxe

connection_identifier

Parametry

  • connection_identifier: Identifikátor, který jednoznačně identifikuje připojení.

Příklady

> CREATE CONNECTION my_postgresql ...;

Název katalogu

Identifikuje katalog. Katalog poskytuje seskupení objektů, které lze dále rozdělit do schémat.

Syntaxe

catalog_identifier

Parametry

  • catalog_identifier: Identifikátor, který jednoznačně identifikuje katalog.

Příklady

> 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

Název schématu

Identifikuje schéma. Schéma poskytuje seskupení objektů v katalogu.

Syntaxe

{ [ catalog_name . ] schema_identifier |
  IDENTIFIER clause }

Parametry

  • catalog_name: Název existujícího katalogu.
  • schema_identifier: Identifikátor, který jednoznačně identifikuje schéma.
  • Klauzule IDENTIFIER: Mapování konstanty STRING na název schématu.

Schémata vytvořená v hive_metastore můžou obsahovat pouze alfanumerické znaky a podtržítka ASCII (INVALID_SCHEMA_OR_RELATION_NAME).

Příklady

> 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 `数据库架构`;

Název databáze

Synonymum pro název schématu.

Zatímco použití SCHEMAa DATABASE je zaměnitelné, SCHEMA je upřednostňované.

Název tabulky

Identifikuje objekt tabulky. Tabulku lze kvalifikovat názvem schématu nebo nekvalifikovaným pomocí jednoduchého identifikátoru.

Syntaxe

{ [ schema_name . ] table_identifier [ temporal_spec ] |
  IDENTIFIER clause [ temporal_spec ] |
  { file_format | `file_format` } . `path_to_table` [ temporal_spec ] [ credential_spec ] }

temporal_spec
{
  @ timestamp_encoding |
  @V version |
  [ FOR ] { SYSTEM_TIMESTAMP | TIMESTAMP } AS OF timestamp_expression |
  [ FOR ] { SYSTEM_VERSION | VERSION } AS OF version
}

credential_spec
  WITH ( CREDENTIAL credential_name )

Parametry

  • schema_name: Kvalifikovaný nebo nekvalifikovaný název schématu, který obsahuje tabulku.

  • table_identifier: Identifikátor, který určuje název tabulky nebo table_alias.

  • file_format: Jeden z json, csv, orcparquetbinaryFileavro, textdelta (nerozlišuje velká a malá písmena).

  • path_to_table: Umístění tabulky v systému souborů. K použití této syntaxe musíte mít ANY_FILE oprávnění.

  • Klauzule IDENTIFIER: Mapování konstanty STRING na název tabulky.

  • temporal_spec: Při použití odkazuje na tabulku Delta v zadaném bodu v čase nebo verzi.

    Dočasnou specifikaci můžete použít pouze v kontextu dotazu nebo funkce MERGE USING.

    • @ timestamp_encoding: Pozitivní literál Bigint, který kóduje časové razítko ve yyyyMMddHHmmssSSS formátu.
    • @V verze: Kladné celočíselné literály identifikující verzi tabulky Delta.
    • timestamp_expression: Jednoduchý výraz, který se vyhodnotí jako TIMESTAMP. timestamp_expressiom musí být konstantní výraz, ale může obsahovat current_date() nebo current_timestamp().
    • version: Celočíselná literála nebo řetězcový literál identifikující verzi tabulky Delta.
  • credential_spec

    K získání přístupu k externímu path_to_table umístění, který není vložený do externího umístění, můžete použít příslušné přihlašovací údaje.

    • credential_name

      Název přihlašovacích údajů použitých pro přístup k umístění úložiště.

Tabulky vytvořené v hive_metastore sadě MŮŽOU obsahovat pouze alfanumerické znaky a podtržítka (INVALID_SCHEMA_OR_RELATION_NAME).

Pokud je název nekvalifikovaný a neodkazuje na známý alias tabulky, Azure Databricks se nejprve pokusí přeložit tabulku v aktuálním schématu.

Pokud je název kvalifikovaný pomocí schématu, Azure Databricks se pokusí přeložit tabulku v aktuálním katalogu.

Další informace o překladu ip adres najdete v tématu Tabulka a zobrazení rozlišení .

Azure Databricks vyvolá chybu, pokud použijete temporal_spec tabulku, která není ve formátu Delta Lake.

Příklady

-- 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)

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

Název zobrazení

Identifikuje zobrazení. Zobrazení může být kvalifikované s názvem schématu nebo nekvalifikovaným pomocí jednoduchého identifikátoru.

Syntaxe

{ [ schema_name . ] view_identifier |
  IDENTIFIER clause }

Parametry

  • schema_name: Kvalifikovaný nebo nekvalifikovaný název schématu, který obsahuje zobrazení.
  • view_identifier: Identifikátor, který určuje název zobrazení nebo identifikátor zobrazení CTE.
  • Klauzule IDENTIFIER: Mapování konstanty STRING na název zobrazení.

Zobrazení vytvořená v hive_metastore sadě můžou obsahovat pouze alfanumerické znaky a podtržítka (INVALID_SCHEMA_OR_RELATION_NAME).

Příklady

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

Název sloupce

Identifikuje sloupec v tabulce nebo zobrazení. Sloupec může být kvalifikovaný s názvem tabulky nebo zobrazení nebo nekvalifikovaný pomocí jednoduchého identifikátoru.

Syntaxe

{ [ { table_name | view_name } . ] column_identifier |
  IDENTIFIER clause }

Parametry

  • table_name: Kvalifikovaný nebo nekvalifikovaný název tabulky obsahující sloupec.
  • view_name: Kvalifikovaný nebo nekvalifikovaný název zobrazení zobrazení obsahujícího sloupec.
  • column_identifier: Identifikátor, který určuje název sloupce.
  • Klauzule IDENTIFIER: Mapování konstanty STRING na název sloupce.

Identifikovaný sloupec musí existovat v tabulce nebo zobrazení.

Azure Databricks podporuje speciální sloupec _metadata. Tento pseudosloupce struktury typu je součástí každé tabulky a lze ji použít k načtení informací o metadatech o řádcích v tabulce.

Upozorňující

Pokud schéma tabulky obsahuje sloupec s názvem _metadata, dotazy vrátí sloupec ze zdroje dat, nikoli metadata souboru. Pseudosloupce _metadata nebude přístupný.

Názvy sloupců v tabulkách Delta Lake bez vlastnosti mapování sloupců ('delta.columnMapping.mode' = 'name') nesmí obsahovat znaky ' ' (mezera), ',', ';', '{', '}', , '('. ')'. '\n', '\t'a '='.

Název sloupce v AVRO tabulkách musí začínat písmenem '_' unicode (včetně písmen jiného '_'typu než ASCII) a za ním musí následovat kombinace písmen a číslic Unicode.

Příklady

-- 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`);

Název pole

Identifikuje pole v rámci struktury. Pole musí být kvalifikované s cestou až do struktury obsahující pole.

Syntaxe

{ expr { . field_identifier [. ...] } |
  IDENTIFIER clause }

Parametry

  • výraz: Výraz typu STRUCT.
  • field_identifier: Identifikátor, který určuje název pole.
  • Klauzule IDENTIFIER: Mapování konstanty STRING na název pole.

Na hluboce vnořené pole lze odkazovat zadáním identifikátoru pole podél cesty ke kořenové struktuře.

Názvy polí v tabulkách Delta Lake bez vlastnosti mapování sloupců ('delta.columnMapping.mode' = 'name') nesmí obsahovat znaky ' ' (mezera), ',', ';', '{', '}', , '('. ')'. '\n', '\t'a '='.

Název pole v AVRO tabulkách musí začínat písmenem '_' nebo písmenem Unicode (včetně písmen jiného '_'typu než ASCII) a za ním následuje kombinace písmen unicode a číslic.

Příklady

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

Název proměnné

Identifikuje dočasnou proměnnou (relaci). Proměnnou lze kvalifikovat pomocí názvu schématu (system.session nebo session) nebo nekvalifikované pomocí jednoduchého identifikátoru.

Syntaxe

{ [ schema_name . ] variable_identifier |
  IDENTIFIER clause }

Parametry

  • schema_name: system.session nebo session obsahuje všechny dočasné proměnné.
  • variable_identifier: Identifikátor, který určuje název proměnné.

Příklady


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

Název funkce

Identifikuje funkci. Funkce může být kvalifikovaná s názvem schématu nebo nekvalifikovaná pomocí jednoduchého identifikátoru.

Syntaxe

{ [ schema_name . ] function_identifier |
  IDENTIFIER clause }

Parametry

  • schema_name: Kvalifikovaný nebo nekvalifikovaný název schématu, který obsahuje funkci.
  • function_identifier: Identifikátor, který určuje název funkce.
  • Klauzule IDENTIFIER: Mapování konstanty STRING na název funkce.

Funkce vytvořené v hive_metastore sadě MŮŽOU obsahovat pouze alfanumerické znaky a podtržítka ASCII.

Příklady

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

Název parametru

Identifikuje parametr v těle uživatelem definované funkce SQL (SQL UDF). Funkce může být kvalifikovaná pomocí identifikátoru funkce nebo nekvalifikovaná pomocí jednoduchého identifikátoru.

Syntaxe

[ function_identifier . ] parameter_identifier

Parametry

  • function_identifier: Identifikátor, který určuje název funkce.
  • parameter_identifier: Identifikátor, který určuje název parametru.

Příklady

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

Alias tabulky

Označí odkaz na tabulku, dotaz, funkci tabulky nebo jinou formu relace.

Syntaxe

[ AS ] table_identifier [ ( column_identifier1 [, ...] ) ]

Parametry

  • table_identifier: Identifikátor, který určuje název tabulky.
  • column_identifierN: Volitelný identifikátor, který určuje název sloupce.

Pokud zadáte identifikátory sloupců, musí jejich číslo odpovídat počtu sloupců ve shodném vztahu.

Pokud nezadáte identifikátory sloupců, zdědí se jejich názvy z označené relace.

Příklady

-- 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 `직원`;

Alias sloupce

Označí výsledek výrazu v SELECT seznamu pro referenci.

Pokud je výraz funkcí generátoru hodnotných tabulek, alias označuje seznam vytvořených sloupců.

Syntaxe

[AS] column_identifier
[AS] ( column_identifier [, ...] )

Parametry

  • column_identifier: Identifikátor, který určuje název sloupce.

I když aliasy sloupců nemusí být v seznamu výběru jedinečné, jedinečnost je požadavek na odkaz na alias podle názvu.

Příklady

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

Název přihlašovacího údaje

Identifikuje přihlašovací údaje pro přístup k úložišti v externím umístění.

Syntaxe

credential_identifier

Parametry

  • credential_identifier: Nekvalifikovaný identifikátor, který jednoznačně identifikuje přihlašovací údaje.

Příklady

Název umístění

Identifikuje umístění externího úložiště.

Syntaxe

location_identifier

Parametry

  • location_identifier: Nekvalifikovaný identifikátor, který jednoznačně identifikuje umístění.

Příklady

`s3-json-data`

s3_json_data

Název sdílené složky

Identifikuje sdílenou složku pro přístup k datům sdíleným poskytovatelem.

Syntaxe

share_identifier

Parametry

  • share_identifier: Nekvalifikovaný identifikátor, který jednoznačně identifikuje sdílenou složku.

Příklady

`public info`

`public-info`

public_info

Název poskytovatele

Identifikuje zprostředkovatele rozdílového sdílení.

Syntaxe

provider_identifier

Parametry

  • provider_identifier

    Nekvalifikovaný identifikátor, který jednoznačně identifikuje poskytovatele.

Příklady

`Good Corp`

`Good-corp`

Good_Corp

Jméno příjemce

Identifikuje příjemce sdílené složky.

Syntaxe

recipient_identifier

Parametry

  • recipient_identifier: Nekvalifikovaný identifikátor, který jednoznačně identifikuje příjemce.

Příklady

`Good Corp`

`Good-corp`

Good_Corp

Název svazku

Identifikuje svazek katalogu Unity. Svazek může být kvalifikovaný s názvem schématu nebo nekvalifikovaný pomocí jednoduchého identifikátoru.

Syntaxe

[ schema_name .] volume_identifier

Parametry

  • schema_name: Kvalifikovaný nebo nekvalifikovaný název schématu, který obsahuje svazek.
  • volume_identifier: Nekvalifikovaný identifikátor, který jednoznačně identifikuje svazek v rámci schématu.

Příklady

`myVolume`

`my-volume`

myschema.myVolume

my_unity_catalog.my_schema.my_volume