Udostępnij za pośrednictwem


Nazwy

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

Identyfikuje różne rodzaje obiektów w usłudze Azure Databricks.

Obowiązują następujące ograniczenia dotyczące wszystkich nazw obiektów w wykazie aparatu Unity:

  • Nazwy obiektów nie mogą przekraczać 255 znaków.
  • Następujące znaki specjalne są niedozwolone:
    • Okres (.)
    • Spacja ( )
    • Ukośnik do przodu (/)
    • Wszystkie znaki sterujące ASCII (szesnastkowy szesnastkowy 00-1F)
    • Znak DELETE (szesnastkowy 7F)
  • Wykaz aparatu Unity przechowuje wszystkie nazwy obiektów jako małe litery.
  • W przypadku odwoływania się do nazw UC w języku SQL należy użyć backticksów, aby użyć nazw ucieczki zawierających znaki specjalne, takie jak łączniki (-).

Uwaga

Nazwy kolumn mogą używać znaków specjalnych, ale nazwa musi zostać uniknięta z backticks we wszystkich instrukcjach SQL, jeśli są używane znaki specjalne. Wykaz aparatu Unity zachowuje wielkość liter nazw kolumn, ale zapytania względem tabel wykazu aparatu Unity są bez uwzględniania wielkości liter.

Nazwa połączenia

Identyfikuje połączenie obce. Połączenie obce służy jako link do systemu obcego, takiego jak PostgreSQL i może następnie służyć do odwołowania się do katalogów, schematów i tabel.

Składnia

connection_identifier

Parametry

  • connection_identifier: identyfikator, który jednoznacznie identyfikuje połączenie.

Przykłady

> CREATE CONNECTION my_postgresql ...;

Nazwa wykazu

Identyfikuje wykaz. Wykaz zawiera grupowanie obiektów, które można dalej podzielić na schematy.

Składnia

catalog_identifier

Parametry

  • catalog_identifier: identyfikator, który jednoznacznie identyfikuje wykaz.

Przykłady

> 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

Nazwa schematu

Identyfikuje schemat. Schemat zapewnia grupowanie obiektów w wykazie.

Składnia

{ [ catalog_name . ] schema_identifier |
  IDENTIFIER clause }

Parametry

  • catalog_name: nazwa istniejącego wykazu.
  • schema_identifier: identyfikator, który jednoznacznie identyfikuje schemat.
  • Klauzula IDENTIFIER: mapowanie stałej STRING na nazwę schematu.

Schematy utworzone w programie hive_metastore mogą zawierać tylko znaki alfanumeryczne ASCII i podkreślenia (INVALID_SCHEMA_OR_RELATION_NAME).

Przykłady

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

Nazwa bazy danych

Synonim nazwy schematu.

Chociaż użycie elementu SCHEMAi DATABASE jest wymienne, SCHEMA jest preferowane.

Nazwa tabeli

Identyfikuje obiekt tabeli. Tabelę można zakwalifikować przy użyciu nazwy schematu lub niekwalifikowanej przy użyciu prostego identyfikatora.

Składnia

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

Parametry

  • schema_name: kwalifikowana lub niekwalifikowana nazwa schematu zawierająca tabelę.

  • table_identifier: identyfikator określający nazwę tabeli lub table_alias.

  • file_format: jeden z json, csv, avroparquetorcbinaryFile, text, delta (bez uwzględniania wielkości liter).

  • path_to_table: lokalizacja tabeli w systemie plików. Musisz mieć uprawnienia do używania ANY_FILE tej składni.

  • Klauzula IDENTIFIER: mapowanie stałej STRING na nazwę tabeli.

  • temporal_spec: w przypadku użycia odwołania do tabeli delty w określonym punkcie w czasie lub wersji.

    Specyfikację czasową można używać tylko w kontekście zapytania lub SCALANIA PRZY UŻYCIU.

    • @ timestamp_encoding: dodatni literał Bigint, który koduje znacznik czasu w yyyyMMddHHmmssSSS formacie.
    • @V wersja: dodatni literał liczby całkowitej identyfikujący wersję tabeli delty.
    • timestamp_expression: proste wyrażenie, które oblicza znacznik czasu. timestamp_expressiom musi być wyrażeniem stałym, ale może zawierać current_date() wartość lub current_timestamp().
    • version: literał całkowity lub literał ciągu identyfikujący wersję tabeli delty.
  • option_spec: w przypadku użycia dyrektyw definiującech, które mają być przekazywane do źródła danych, takiego jak poświadczenie w celu uzyskania dostępu do lokalizacji magazynu lub 'write.split-size' kontrolowania INSERT zachowania.

    • option_key

      Klucz opcji. Klucz może składać się z co najmniej jednego identyfikatora oddzielonego kropką lub literału ciągu.

      Klucze opcji muszą być unikatowe i uwzględniane są wielkość liter.

    • option_val

      Wartość opcji. Stałe wyrażenie typu BOOLEAN, STRING, INTEGERlub DECIMAL.

Tabele utworzone w programie hive_metastore mogą zawierać tylko znaki alfanumeryczne ASCII i podkreślenia (INVALID_SCHEMA_OR_RELATION_NAME).

Jeśli nazwa jest niekwalifikowana i nie odwołuje się do znanego aliasu tabeli, usługa Azure Databricks najpierw próbuje rozpoznać tabelę w bieżącym schemacie.

Jeśli nazwa jest kwalifikowana przy użyciu schematu, usługa Azure Databricks próbuje rozpoznać tabelę w bieżącym wykazie.

Aby uzyskać więcej informacji na temat rozpoznawania nazw, zobacz Temat Tabela i wyświetlanie rozpoznawania nazw.

Usługa Azure Databricks zgłasza błąd, jeśli używasz temporal_spec tabeli, która nie jest w formacie usługi Delta Lake.

Przykłady

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

Nazwa widoku

Identyfikuje widok. Widok można zakwalifikować przy użyciu nazwy schematu lub niekwalifikowanego przy użyciu prostego identyfikatora.

Składnia

{ [ schema_name . ] view_identifier |
  IDENTIFIER clause }

Parametry

  • schema_name: kwalifikowana lub niekwalifikowana nazwa schematu zawierającego widok.
  • view_identifier: identyfikator określający nazwę widoku lub identyfikator widoku CTE.
  • Klauzula IDENTIFIER: mapowanie stałej STRING na nazwę widoku.

Widoki utworzone w programie hive_metastore mogą zawierać tylko znaki alfanumeryczne ASCII i podkreślenia (INVALID_SCHEMA_OR_RELATION_NAME).

Przykłady

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

Nazwa kolumny

Identyfikuje kolumnę w tabeli lub widoku. Kolumnę można zakwalifikowaćprzy użyciu nazwy tabeli lub widoku albo bez kwalifikacji przy użyciu prostego identyfikatora.

Składnia

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

Parametry

  • table_name: kwalifikowana lub niekwalifikowana nazwa tabeli tabeli zawierającej kolumnę.
  • view_name: kwalifikowana lub niekwalifikowana nazwa widoku widoku zawierającego kolumnę.
  • column_identifier: identyfikator określający nazwę kolumny.
  • Klauzula IDENTIFIER: mapowanie stałej STRING na nazwę kolumny.

Zidentyfikowana kolumna musi istnieć w tabeli lub widoku.

Usługa Azure Databricks obsługuje specjalną kolumnę _metadata. Ta pseudokolumna struktury typu jest częścią każdej tabeli i może służyć do pobierania informacji o metadanych dotyczących wierszy w tabeli.

Ostrzeżenie

Jeśli schemat tabeli zawiera kolumnę o nazwie _metadata, zapytania będą zwracać kolumnę ze źródła danych, a nie metadane pliku. Pseudokolumna _metadata nie będzie dostępna.

Nazwy kolumn w tabelach usługi Delta Lake bez właściwości mapowania kolumn ('delta.columnMapping.mode' = 'name') nie mogą zawierać znaków ' ' (spacji), ',', , ';''{', '}', '(', . ')' '\n', '\t'i '='.

Nazwa kolumny w AVRO tabelach musi zaczynać się od '_' litery Unicode (w tym liter innych niż ASCII) i być po nim kombinacja '_'liter Unicode i cyfr.

Przykłady

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

Nazwa pola

Identyfikuje pole w obrębie struktury. Pole musi być kwalifikowane ze ścieżką do struktury zawierającej pole.

Składnia

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

Parametry

  • wyrażenie: wyrażenie typu STRUCT.
  • field_identifier: identyfikator określający nazwę pola.
  • Klauzula IDENTIFIER: mapowanie stałej STRING na nazwę pola.

Do głęboko zagnieżdżonego pola można odwoływać się, określając identyfikator pola wzdłuż ścieżki do struktury głównej.

Nazwy pól w tabelach usługi Delta Lake bez właściwości mapowania kolumn ('delta.columnMapping.mode' = 'name') nie mogą zawierać znaków ' ' (spacji), ',', , ';''{', '}', , . '('')' '\n', '\t'i '='.

Nazwa pola w AVRO tabelach musi zaczynać się od '_' lub litery Unicode (w tym liter innych niż ASCII) i być zgodne z kombinacją '_'liter Unicode i cyfr.

Przykłady

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

Nazwa zmiennej

Identyfikuje zmienną tymczasową (sesję). Zmienną można zakwalifikować przy użyciu nazwy schematu (system.session lub session), lub niekwalifikowanej przy użyciu prostego identyfikatora.

Składnia

{ [ schema_name . ] variable_identifier |
  IDENTIFIER clause }

Parametry

  • schema_name: system.session lub session który zawiera wszystkie zmienne tymczasowe.
  • variable_identifier: identyfikator określający nazwę zmiennej.

Przykłady


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

Nazwa funkcji

Identyfikuje funkcję. Funkcję można zakwalifikować przy użyciu nazwy schematu lub niekwalifikowanej przy użyciu prostego identyfikatora.

Składnia

{ [ schema_name . ] function_identifier |
  IDENTIFIER clause }

Parametry

  • schema_name: kwalifikowana lub niekwalifikowana nazwa schematu zawierająca funkcję.
  • function_identifier: identyfikator określający nazwę funkcji.
  • Klauzula IDENTIFIER: mapowanie stałej STRING na nazwę funkcji.

Funkcje utworzone w programie hive_metastore mogą zawierać tylko znaki alfanumeryczne ASCII i podkreślenia.

Przykłady

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

Nazwa parametru

Identyfikuje parametr w treści funkcji zdefiniowanej przez użytkownika SQL (SQL UDF). Funkcję można zakwalifikować za pomocą identyfikatora funkcji lub bez kwalifikacji przy użyciu prostego identyfikatora.

Składnia

[ function_identifier . ] parameter_identifier

Parametry

  • function_identifier: identyfikator określający nazwę funkcji.
  • parameter_identifier: identyfikator określający nazwę parametru.

Przykłady

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

Etykietuje odwołanie do tabeli, zapytanie, funkcję tabeli lub inną formę relacji.

Składnia

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

Parametry

  • table_identifier: identyfikator określający nazwę tabeli.
  • column_identifierN: opcjonalny identyfikator określający nazwę kolumny.

Jeśli podasz identyfikatory kolumn, ich liczba musi być zgodna z liczbą kolumn w dopasowanej relacji.

Jeśli nie podasz identyfikatorów kolumn, ich nazwy są dziedziczone z relacji oznaczonej etykietą.

Przykłady

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

Etykietuje wynik wyrażenia na liście do celów referencyjnych SELECT .

Jeśli wyrażenie jest funkcją generatora wartości tabeli, alias etykietuje listę utworzonych kolumn.

Składnia

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

Parametry

  • column_identifier: identyfikator określający nazwę kolumny.

Chociaż aliasy kolumn nie muszą być unikatowe na liście wyboru, unikatowość jest wymagana do odwołowania się do aliasu według nazwy.

Przykłady

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

Nazwa sortowania

Identyfikuje sortowanie dla kolumny lub wyrażenia.

Składnia

collation_identifier

Parametry

Aby uzyskać listę obsługiwanych sortowania, zobacz Obsługiwane sortowania. Aby uzyskać szczegółowe informacje na temat sortowania, zobacz Sortowanie.

Przykłady

> SELECT 'hello' COLLATE UNICODE_CI;
  hello

Nazwa poświadczenia

Identyfikuje poświadczenia dostępu do magazynu w lokalizacji zewnętrznej lub usługach w chmurze za pomocą zestawów SDK dostawcy.

Składnia

credential_identifier

Parametry

  • credential_identifier: niekwalifikowany identyfikator, który jednoznacznie identyfikuje poświadczenia.

Przykłady

`my_storage_cred`

my_storage_cred

Nazwa lokalizacji

Identyfikuje zewnętrzną lokalizację magazynu.

Składnia

location_identifier

Parametry

  • location_identifier: niekwalifikowany identyfikator, który jednoznacznie identyfikuje lokalizację.

Przykłady

`s3-json-data`

s3_json_data

Nazwa udziału

Identyfikuje udział w celu uzyskania dostępu do danych udostępnionych przez dostawcę.

Składnia

share_identifier

Parametry

  • share_identifier: niekwalifikowany identyfikator, który jednoznacznie identyfikuje udział.

Przykłady

`public info`

`public-info`

public_info

Nazwa dostawcy

Identyfikuje dostawcę udostępniania różnicowego.

Składnia

provider_identifier

Parametry

  • provider_identifier

    Niekwalifikowany identyfikator, który jednoznacznie identyfikuje dostawcę.

Przykłady

`Good Corp`

`Good-corp`

Good_Corp

Imię i nazwisko adresata

Identyfikuje adresata udziału.

Składnia

recipient_identifier

Parametry

  • recipient_identifier: niekwalifikowany identyfikator, który jednoznacznie identyfikuje adresata.

Przykłady

`Good Corp`

`Good-corp`

Good_Corp

Nazwa czystego pokoju

Identyfikuje czysty pokój dla zestawu współpracowników.

Składnia

clean_room_identifier

Parametry

  • clean_room_identifier: niekwalifikowany identyfikator, który jednoznacznie określa czyste pomieszczenie w magazynach metadanych współpracowników.

Przykłady

`Clean-Room`

Clean_Room

Nazwa woluminu

Identyfikuje wolumin wykazu aparatu Unity. Wolumin można zakwalifikować przy użyciu nazwy schematu lub niekwalifikowanego przy użyciu prostego identyfikatora.

Składnia

[ schema_name .] volume_identifier

Parametry

  • schema_name: kwalifikowana lub niekwalifikowana nazwa schematu zawierająca wolumin.
  • volume_identifier: niekwalifikowany identyfikator, który jednoznacznie identyfikuje wolumin w schemacie.

Przykłady

`myVolume`

`my-volume`

myschema.myVolume

my_unity_catalog.my_schema.my_volume