Nevek

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

Különböző típusú objektumokat azonosít az Azure Databricksben.

A Unity Catalog összes objektumnevére az alábbi korlátozások vonatkoznak:

  • Az objektumnevek legfeljebb 255 karakter hosszúságúak lehetnek.
  • A következő speciális karakterek nem engedélyezettek:
    • Időszak (.)
    • Szóköz ( )
    • Perjel (/)
    • Minden ASCII vezérlőkarakterek (00-1F hexa)
    • A DELETE karakter (7F hexa)
  • A Unity Catalog az összes objektumnevet kisbetűsként tárolja.
  • Ha UC-nevekre hivatkozik az SQL-ben, akkor a speciális karaktereket, például kötőjeleket (-kötőjeleket) tartalmazó nevek feloldásához háttértitkokat kell használnia.

Feljegyzés

Az oszlopnevek speciális karaktereket is használhatnak, de ha speciális karaktereket használnak, a nevet minden SQL-utasításban háttérrel kell megszűrni. A Unity Catalog megőrzi az oszlopnévházat, de a Unity Catalog-táblák lekérdezései nem érzéketlenek.

Kapcsolat neve

Azonosítja a külső kapcsolatot. A külső kapcsolatok egy idegen rendszerre mutató hivatkozásként szolgálnak, például PostgreSQL a katalógusokra, sémákra és táblákra való hivatkozásra.

Syntax

connection_identifier

Paraméterek

  • connection_identifier: A kapcsolatot egyedileg azonosító azonosító.

Példák

> CREATE CONNECTION my_postgresql ...;

Katalógus neve

Katalógust azonosít. A katalógus olyan objektumok csoportosítását biztosítja, amelyek további sémákra oszthatók.

Syntax

catalog_identifier

Paraméterek

  • catalog_identifier: A katalógust egyedileg azonosító azonosító.

Példák

> 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

Séma neve

Egy sémát azonosít. A séma objektumcsoportokat biztosít egy katalógusban.

Syntax

{ [ catalog_name . ] schema_identifier |
  IDENTIFIER clause }

Paraméterek

  • catalog_name: Egy meglévő katalógus neve.
  • schema_identifier: A sémát egyedileg azonosító azonosító.
  • IDENTIFIER záradék: Az állandó STRING leképezése sémanévre.

A létrehozott hive_metastore sémák csak alfanumerikus ASCII-karaktereket és aláhúzásjeleket (INVALID_SCHEMA_OR_RELATION_NAME) tartalmazhatnak.

Példák

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

Adatbázis neve

A sémanév szinonimája.

Bár a SCHEMAhasználat előnyben részesített, és DATABASE felcserélhető SCHEMA .

Tábla neve

Egy táblaobjektumot azonosít. A tábla sémanévvel minősíthető, vagy egy egyszerű azonosítóval minősíthető.

Syntax

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

Paraméterek

  • schema_name: A táblát tartalmazó minősített vagy nem minősített sémanév.

  • table_identifier: A tábla vagy a table_alias nevét meghatározó azonosító.

  • file_format: Az egyik json, csv, avro, parquet, orc, binaryFile, text, delta (a kis- és nagybetűk nem érzékenyek).

  • path_to_table: A tábla helye a fájlrendszerben. Ehhez a ANY_FILE szintaxishoz engedéllyel kell rendelkeznie.

  • IDENTIFIER záradék: Az állandó STRING táblanévhez való leképezése.

  • temporal_spec: Ha a használt hivatkozás egy Delta-táblára hivatkozik a megadott időpontban vagy verzióban.

    Időbeli specifikációt csak egy lekérdezés vagy EGY EGYESÍTÉS HASZNÁLATA kontextusában használhat.

    • @ timestamp_encoding: Egy pozitív Bigint-literál, amely formázott időbélyeget yyyyMMddHHmmssSSS kódol.
    • @V verzió: A Delta tábla verzióját azonosító pozitív egész számkonstans.
    • timestamp_expression: Egy egyszerű kifejezés, amely időbélyegzőre van kiértékelve. timestamp_expressiom állandó kifejezésnek kell lennie, de tartalmazhat current_date() vagy current_timestamp()tartalmazhat.
    • verzió: A Delta-tábla verzióját azonosító egész számkonstans vagy sztringkonstans.
  • credential_spec

    A megfelelő hitelesítő adatok használatával hozzáférést kaphat egy path_to_table olyanhoz, amely nem egy külső helyre van beágyazva.

    • credential_name

      A tárolóhely eléréséhez használt hitelesítő adatok neve.

A hive_metastore létrehozott táblák csak alfanumerikus ASCII-karaktereket és aláhúzásjeleket (INVALID_SCHEMA_OR_RELATION_NAME) tartalmazhatnak.

Ha a név nem minősített, és nem hivatkozik egy ismert tábla aliasára, az Azure Databricks először megpróbálja feloldani a táblát az aktuális sémában.

Ha a név sémával van minősítve, az Azure Databricks megpróbálja feloldani a táblázatot az aktuális katalógusban.

A névfeloldásról további információt a Táblázat és a felbontás megtekintése című témakörben talál.

Az Azure Databricks hibát jelez, ha nem Delta Lake formátumú táblát használ temporal_spec .

Példák

-- 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ézet neve

Egy nézetet azonosít. A nézet sémanévvel minősíthető, vagy egy egyszerű azonosítóval minősíthető.

Syntax

{ [ schema_name . ] view_identifier |
  IDENTIFIER clause }

Paraméterek

  • schema_name: A nézetet tartalmazó séma minősített vagy nem minősített neve.
  • view_identifier: A nézet nevét vagy a CTE nézetazonosítóját meghatározó azonosító.
  • IDENTIFIER záradék: Az állandó STRING leképezése nézetnévre.

A létrehozott hive_metastore nézetek csak alfanumerikus ASCII-karaktereket és aláhúzásjeleket (INVALID_SCHEMA_OR_RELATION_NAME) tartalmazhatnak.

Példák

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

Oszlop neve

Egy tábla vagy nézet oszlopát azonosítja. Az oszlop minősíthető táblázat- vagy nézetnévvel, vagy egy egyszerű azonosítóval minősíthető.

Syntax

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

Paraméterek

  • table_name: Az oszlopot tartalmazó tábla minősített vagy nem minősített táblaneve.
  • view_name: Az oszlopot tartalmazó nézet minősített vagy nem minősített nézetneve.
  • column_identifier: Az oszlop nevét meghatározó azonosító.
  • IDENTIFIER záradék: Az állandó STRING oszlopnévhez való leképezése.

Az azonosított oszlopnak léteznie kell a táblában vagy a nézetben.

Az Azure Databricks egy speciális _metadata oszlopot támogat. Ez a típusstruktúra pszeudo oszlopa minden tábla része, és a tábla sorairól szóló metaadat-információk lekérésére használható.

Figyelmeztetés

Ha a táblaséma egy elnevezett _metadataoszlopot tartalmaz, a lekérdezések az adatforrásból fogják visszaadni az oszlopot, nem pedig a fájl metaadatait. A _metadata pszeudo oszlop nem lesz elérhető.

Az oszlopleképezési tulajdonság ('delta.columnMapping.mode' = 'name') nélküli Delta Lake-táblák oszlopnevei nem tartalmazhatják a karaktereket ' ' (szóköz), ',', ';', '{', '}', '('')'. '\n', '\t'és '='.

A táblák oszlopnevének AVRO unicode betűvel '_' kell kezdődnie (beleértve a nem ASCII betűket is), és unicode betűk és számjegyek kombinációját '_'kell követnie.

Példák

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

Mezőnév

Egy szerkezeten belüli mezőt azonosít. A mezőt a mezőt tartalmazó struktúra elérési útjával kell minősíteni .

Syntax

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

Paraméterek

  • expr: STRUCT típusú kifejezés.
  • field_identifier: A mező nevét meghatározó azonosító.
  • IDENTIFIER záradék: Az állandó STRING hozzárendelése egy mezőnévhez.

A mélyen beágyazott mezőkre a gyökérstruktúra elérési útjának mentén a mezőazonosító megadásával hivatkozhat.

Az oszlopleképezési tulajdonság ('delta.columnMapping.mode' = 'name') nélküli Delta Lake-táblák mezőnevei nem tartalmazhatják a karaktereket ' ' (szóköz), ',', ';', '{', '}', '('')'. '\n', '\t'és '='.

A táblák mezőnevének AVRO unicode betűvel '_' kell kezdődnie (beleértve a nem ASCII betűket is), és unicode betűk és számjegyek kombinációját '_'kell követnie.

Példák

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

Változó neve

Egy ideiglenes (munkamenet-) változót azonosít. A változó egy sémanévvel (system.sessionvagy ), vagy sessionegy egyszerű azonosítóval minősíthető.

Syntax

{ [ schema_name . ] variable_identifier |
  IDENTIFIER clause }

Paraméterek

  • schema_name: system.session vagy session amely az összes ideiglenes változót tartalmazza.
  • variable_identifier: A változó nevét meghatározó azonosító.

Példák


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

Függvénynév

Azonosít egy függvényt. A függvény sémanévvel minősíthető, vagy egy egyszerű azonosítóval minősíthető.

Syntax

{ [ schema_name . ] function_identifier |
  IDENTIFIER clause }

Paraméterek

  • schema_name: A függvényt tartalmazó minősített vagy nem minősített sémanév.
  • function_identifier: A függvény nevét meghatározó azonosító.
  • IDENTIFIER záradék: Az állandó STRING függvénynévhez való leképezése.

A hive_metastore létrehozott függvények csak alfanumerikus ASCII-karaktereket és aláhúzásjeleket tartalmazhatnak.

Példák

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

Paraméter neve

Egy paramétert azonosít a felhasználó által definiált SQL-függvény (SQL UDF) törzsében. A függvény minősíthető egy függvényazonosítóval, vagy egy egyszerű azonosítóval nem minősíthető.

Syntax

[ function_identifier . ] parameter_identifier

Paraméterek

  • function_identifier: Egy függvény nevét meghatározó azonosító.
  • parameter_identifier: Egy paraméter nevét meghatározó azonosító.

Példák

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

Tábla aliasa

Táblahivatkozást, lekérdezést, táblafüggvényt vagy más relációs formát címkéz.

Syntax

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

Paraméterek

  • table_identifier: A tábla nevét meghatározó azonosító.
  • column_identifierN: Az oszlop nevét meghatározó opcionális azonosító.

Ha oszlopazonosítókat ad meg, a számuknak meg kell egyeznie a megfeleltethető relációban lévő oszlopok számával.

Ha nem ad meg oszlopazonosítókat, azok neve a címkézett relációtól öröklődik.

Példák

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

Oszlop aliasa

Hivatkozás céljából címkézheti egy kifejezés eredményét egy SELECT listában.

Ha a kifejezés táblaértékű generátorfüggvény, az alias a létrehozott oszlopok listáját címkézi.

Syntax

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

Paraméterek

  • column_identifier: Az oszlop nevét meghatározó azonosító.

Bár az oszlop aliasainak nem kell egyedinek lenniük a kiválasztási listában, az egyediség követelmény, hogy név alapján hivatkozzon egy aliasra.

Példák

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

Hitelesítő adat neve

Azonosítja a külső helyen lévő tároló eléréséhez szükséges hitelesítő adatokat.

Syntax

credential_identifier

Paraméterek

  • credential_identifier: Nem minősített azonosító, amely egyedileg azonosítja a hitelesítő adatokat.

Példák

Hely neve

Külső tárolóhelyet azonosít.

Syntax

location_identifier

Paraméterek

  • location_identifier: Nem minősített azonosító, amely egyedileg azonosítja a helyet.

Példák

`s3-json-data`

s3_json_data

Megosztás neve

A szolgáltató által megosztott adatok eléréséhez használt megosztást azonosítja.

Syntax

share_identifier

Paraméterek

  • share_identifier: Nem minősített azonosító, amely egyedileg azonosítja a megosztást.

Példák

`public info`

`public-info`

public_info

Szolgáltató neve

Egy deltamegosztási szolgáltatót azonosít.

Syntax

provider_identifier

Paraméterek

  • provider_identifier

    Nem minősített azonosító, amely egyedileg azonosítja a szolgáltatót.

Példák

`Good Corp`

`Good-corp`

Good_Corp

Címzett neve

Azonosítja a megosztás címzettjének nevét.

Syntax

recipient_identifier

Paraméterek

  • recipient_identifier: Nem minősített azonosító, amely egyedileg azonosítja a címzettet.

Példák

`Good Corp`

`Good-corp`

Good_Corp

Kötet neve

Egy Unity-katalógus kötetét azonosítja. A kötet sémanévvel minősíthető, vagy egy egyszerű azonosítóval minősíthető.

Syntax

[ schema_name .] volume_identifier

Paraméterek

  • schema_name: A kötetet tartalmazó minősített vagy nem minősített sémanév.
  • volume_identifier: Nem minősített azonosító, amely egyedileg azonosítja a kötetet a sémában.

Példák

`myVolume`

`my-volume`

myschema.myVolume

my_unity_catalog.my_schema.my_volume