Aracılığıyla paylaş


Adlar

Şunlar için geçerlidir:onay işareti evet olarak işaretlenmiş Databricks SQL onay işareti evet olarak işaretlenmiş Databricks Runtime

Azure Databricks'teki farklı nesne türlerini tanımlar.

Unity Catalog'daki tüm nesne adları için aşağıdaki sınırlamalar geçerlidir:

  • Nesne adları 255 karakteri aşamaz.
  • Aşağıdaki özel karakterlere izin verilmez:
    • Dönem (.)
    • Boşluk ( )
    • Eğik çizgi (/)
    • Tüm ASCII denetim karakterleri (00-1F onaltılık)
    • DELETE karakteri (7F onaltılık)
  • Unity Catalog tüm nesne adlarını küçük harf olarak depolar.
  • SQL'de UC adlarına başvururken, kısa çizgi (-) gibi özel karakterler içeren adlardan kurtulmak için arka uçları kullanmanız gerekir.

Not

Column adları özel karakterler kullanabilir, ancak özel karakterler kullanılıyorsa, adın tüm SQL ifadelerinde ters tırnak işaretleri ile kaçış karakterine alınması gerekir. Unity Catalogcolumn isimdeki büyük/küçük harf kullanımını korur, ancak Unity Catalogtables yapılan sorgular büyük/küçük harfe duyarsızdır.

Bağlantı adı

Yabancı bir bağlantı tanımlar. Yabancı bağlantı, PostgreSQL gibi bir yabancı sisteme köprü görevi görür ve bu sisteme ait catalogs, şemalar ve tablesreferans almak için kullanılabilir.

Sözdizimi

connection_identifier

Parameters

Örnekler

> CREATE CONNECTION my_postgresql ...;

Catalog adı

catalog'ı tanımlar. Bir catalog, daha sonra şemalar şeklinde alt bölümlere ayrılabilen bir nesne grubunu sağlar.

Sözdizimi

catalog_identifier

Parameters

Örnekler

> 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

Schema adı

schema'ı tanımlar. schema, catalogiçinde bir nesne grubu sağlar.

Sözdizimi

{ [ catalog_name . ] schema_identifier |
  IDENTIFIER clause }

Parameters

içinde hive_metastore oluşturulan şemalar yalnızca alfasayısal ASCII karakterleri ve alt çizgi (INVALID_SCHEMA_OR_RELATION_NAME) içerebilir.

Örnekler

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

Veritabanı adı

adı için bir eş anlamlı.

ve kullanımı birbirinin SCHEMADATABASE yerine kullanılabilir olsa da SCHEMA tercih edilir.

Table adı

bir table nesnesi tanımlar. , bir adla veya basit bir ile nitelenmemiş olarak nitelenmiş olabilir.

Sözdizimi

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

Parameters

  • schema_name: tableiçeren nitelenmiş veya nitelenmemiş schema adı.

  • table_identifier: table veya table_aliasadını belirten bir identifier.

  • file_format: , , json, csv, avro, parquet, orc, , , binaryFiletext (büyük/küçük harfe duyarsız) biridelta.

  • path_to_table: dosya sistemindeki table'nin konumu. Bu söz dizimini ANY_FILE kullanma izniniz olmalıdır.

  • IDENTIFIER yan tümcesi: Sabit STRING bir table adına eşleştirilmesi.

  • temporal_spec: Kullanıldığında, belirtilen zaman veya sürüm noktasında bir Delta table'ye başvurur.

    Geçici belirtimi yalnızca sorgu veya MERGE USING bağlamında kullanabilirsiniz.

    • @ timestamp_encoding: Bir zaman damgasını yyyyMMddHHmmssSSS biçimde kodlayan pozitif bir Bigint değişmez değeri.
    • @V sürüm: Delta tablesürümünü tanımlayan pozitif bir Tamsayı sabiti.
    • timestamp_expression: TIMESTAMP olarak değerlendirilen basit bir ifade. timestamp_expressiomsabit bir ifade olmalıdır, ancak veya current_date()içerebilircurrent_timestamp().
    • sürüm: Delta tablesürümünü tanımlayan bir tamsayı sabiti veya dize sabiti.
  • option_spec: Kullanıldığında, depolama konumuna erişmek veya 'write.split-size' davranışı denetlemek INSERT için kimlik bilgileri gibi bir veri kaynağına geçirilecek yönergeleri tanımlar.

    • option_key

      Seçenek tuşu. Anahtar, nokta veya dize değişmez değeriyle ayrılmış bir veya daha fazla tanımlayıcıdan oluşabilir.

      Seçenek anahtarları benzersiz olmalı ve büyük/küçük harfe duyarlı olmalıdır.

    • option_val

      Seçeneğin değeri. , , BOOLEANSTRINGveya INTEGERtüründe DECIMALbir sabit ifade.

Tables adı, hive_metastore'de oluşturulduğunda yalnızca alfasayısal ASCII karakterleri ve alt çizgi içerebilir (INVALID_SCHEMA_OR_RELATION_NAME).

Ad niteliksizse vebilinen bir diğer adına referans vermiyorsa, Azure Databricks önce 'ü geçerli 'de çözümlemeye çalışır.

Bir ad schemaile nitelenmişse, Azure Databricks geçerli catalog'deki table'i çözmeye çalışır.

Ad çözümlemesi hakkında daha fazla bilgi için bkz. Table ve çözümlemeyi görüntüleme.

Delta Lake biçiminde olmayan bir table için temporal_spec kullandığınızda Azure Databricks hata oluşturur.

Örnekler

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

Görünüm adı

Bir görünümü tanımlar. Görünüm, nitelenmiş bir ada sahip olabilir veya basit bir kullanılarak nitelenmemiş olabilir.

Sözdizimi

{ [ schema_name . ] view_identifier |
  IDENTIFIER clause }

Parameters

  • schema_name: Görünümün bulunduğu schema'ün nitelenmiş veya nitelenmemiş adı.
  • view_identifier: bir CTEgörünümünün adını veya görünümün identifier belirleyen bir identifier.
  • IDENTIFIER yan tümcesi: Sabit STRING'in bir görünüm adıyla eşleştirilmesi.

hive_metastore oluşturulan Views, yalnızca alfasayısal ASCII karakterlerini ve alt çizgi karakterlerini (INVALID_SCHEMA_OR_RELATION_NAME) içerebilir.

Örnekler

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

Column adı

Bir column'ı table veya görünüm içinde tanımlar. column, table veya görünüm adıyla nitelikli ya da basit bir identifierkullanarak nitelenmemiş .

Sözdizimi

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

Parameters

  • table_name: columniçeren table nitelenmiş veya nitelenmemiş table adı.
  • view_name: columniçeren görünümün nitelenmiş veya nitelenmemiş görünüm adı.
  • column_identifier: identifier, columnadını belirleyen bir tanımdır.
  • IDENTIFIER yan tümcesi: Sabit STRING'in bir column adıyla eşleştirilmesi.

Tanımlanan column, table ya da görünüm içinde yer almalıdır.

Azure Databricks özel bir _metadata columndestekler. Yapı türündeki bu sahte column, her table'in bir parçasıdır ve table'teki satırlar hakkındaki meta veri bilgilerini almak için kullanılabilir.

Uyarı

table schema _metadataadlı bir column içeriyorsa, sorgular dosya meta verilerini değil veri kaynağından column döndürür. _metadata sahte column erişilemeyecek.

Delta Lake Column adları, tablescolumn eşleme özelliği ('delta.columnMapping.mode' = 'name') olmadan, ' ' (boşluk), ',', ';', '{', '}', '(', ')'karakterlerini içermemelidir. '\n', '\t've '='.

AVRO tables'daki Column adı '_' veya Unicode harfle (ASCII olmayan harfler dahil) başlamalıdır ve ardından '_', Unicode harfleri ve basamaklarının bir bileşimi eklenmelidir.

Örnekler

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

Alan adı

Yapı içindeki bir alanı tanımlar. Alan, alanı içeren yapıya kadar olan yol ile nitelenmelidir.

Sözdizimi

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

Parameters

Kök yapının yolu boyunca identifier alanının belirtilmesiyle derinlemesine yerleştirilmiş bir alana başvurulabilir.

Delta Lake tablescolumn eşleme özelliği olmayan alan adları ('delta.columnMapping.mode' = 'name'), ' ' (boşluk), ',', ';', '{', '}', '(', ')'karakterlerini içermemelidir. '\n', '\t've '='.

AVRO tables alan adı, '_' veya Unicode harfle (ASCII olmayan harfler dahil) başlamalıdır ve ardından '_', Unicode harfleri ve basamaklarının birleşimi eklenmelidir.

Örnekler

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

Değişken adı

Geçici bir (oturum) değişken tanımlar. Değişken, ada ( veya ) sahip nitelikli veya basit bir kullanılarak nitelenmemiş olabilir.

Sözdizimi

{ [ schema_name . ] variable_identifier |
  IDENTIFIER clause }

Parameters

  • schema_name: system.session veya session tüm geçici değişkenleri içerir.
  • variable_identifier: Değişkenin adını belirten bir identifier.

Örnekler


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

İşlev adı

Bir işlevi tanımlar. İşlev, bir ada sahip nitelenmiş veya basit bir kullanılarak nitelenmemiş olabilir.

Sözdizimi

{ [ schema_name . ] function_identifier |
  IDENTIFIER clause }

Parameters

içinde hive_metastore oluşturulan işlevler yalnızca alfasayısal ASCII karakterleri ve alt çizgi içerebilir.

Örnekler

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

Parametre adı

SQL kullanıcı tanımlı işlevinin (SQL UDF) gövdesindeki bir parametreyi tanımlar. İşlev, bir işlevle nitelenmiş veya basit bir kullanarak nitelenmemiş olabilir.

Sözdizimi

[ function_identifier . ] parameter_identifier

Parameters

Örnekler

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

Table diğer adı

bir table başvurusunu, sorguyu, table işlevini veya başka bir ilişki biçimini etiketler.

Sözdizimi

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

Parameters

column tanımlayıcıları sağlarsanız, bunların sayısı eşleşen ilişkideki columns sayısıyla eşleşmelidir.

column tanımlayıcıları sağlamazsanız, adları etiketlenmiş ilişkiden devralınır.

Örnekler

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

Column diğer adı

Başvuru için bir ifadesinin sonucunu etiketler.

değerli bir jeneratör işlevi ise, diğer ad üretilen 'ün 'sini etiketler.

Sözdizimi

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

Parameters

column takma adların selectlistiçinde benzersiz olması gerekmemektedir, ancak bir takma adı adla referans vermek için benzersizlik bir gerekliliktir.

Örnekler

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

Harmanlama adı

Bir column veya ifade için bir sıralama tanımlar.

Sözdizimi

collation_identifier

Parameters

Desteklenen harmanlamaların için bkz. desteklenen harmanlamalar. Harmanlamalar hakkında ayrıntılı bilgi için bkz. Harmanlama.

Örnekler

> SELECT 'hello' COLLATE UNICODE_CI;
  hello

Kimlik bilgisi adı

Sağlayıcı SDK'ları ile bir dış konumda veya bulut hizmetlerinde depolamaya erişmek için bir kimlik bilgisi tanımlar.

Sözdizimi

credential_identifier

Parameters

Örnekler

`my_storage_cred`

my_storage_cred

Konum adı

Bir dış depolama konumu tanımlar.

Sözdizimi

location_identifier

Parameters

Örnekler

`s3-json-data`

s3_json_data

Paylaşım adı

Sağlayıcı tarafından paylaşılan verilere erişmek için bir paylaşımı tanımlar.

Sözdizimi

share_identifier

Parameters

  • share_identifier: Paylaşımı benzersiz olarak tanımlayan vasıflandırılmamış bir identifier.

Örnekler

`public info`

`public-info`

public_info

Sağlayıcı adı

Delta Sharing sağlayıcısını tanımlar.

Sözdizimi

provider_identifier

Parameters

Örnekler

`Good Corp`

`Good-corp`

Good_Corp

Alıcı adı

Bir paylaşımın alıcısını tanımlar.

Sözdizimi

recipient_identifier

Parameters

Örnekler

`Good Corp`

`Good-corp`

Good_Corp

Temiz Oda adı

İşbirlikçilerin set için temiz bir oda tanımlar.

Sözdizimi

clean_room_identifier

Parameters

  • clean_room_identifier: ortak çalışanların metastores'inde temiz odayı benzersiz bir şekilde belirleyen niteliksiz bir identifier.

Örnekler

`Clean-Room`

Clean_Room

Birim adı

Unity Catalog birimini tanımlar. Birim, bir ad ile nitelendirilebilir veya basit bir kullanılarak nitelendirilmemiş olabilir.

Sözdizimi

[ schema_name .] volume_identifier

Parameters

  • schema_name: Birimi içeren nitelenmiş veya nitelenmemiş schema adı.
  • volume_identifier: schemaiçindeki birimi benzersiz olarak tanımlayan vasıflandırılmamış bir identifier.

Örnekler

`myVolume`

`my-volume`

myschema.myVolume

my_unity_catalog.my_schema.my_volume