noms

S’applique à :check marked yes Databricks SQL check marked yes Databricks Runtime

Identifie différentes sortes d’objets dans Azure Databricks.

Les limitations suivantes s’appliquent à tous les noms d’objets dans Unity Catalog :

  • Les noms des objets ne doivent pas dépasser 255 caractères.
  • Les caractères spéciaux suivants ne sont pas autorisés :
    • Point (.)
    • Espace ( )
    • Barre oblique (/)
    • Tous les caractères de contrôle ASCII (hexadécimal 00-1F)
    • Caractère SUPPRIMER (hexadécimal 7F)
  • Unity Catalog stocke tous les noms d’objets en minuscules.
  • Lorsque vous référencez des noms UC dans SQL, vous devez utiliser des backticks pour les noms d’échappement qui contiennent des caractères spéciaux tels que des traits d’union (-).

Remarque

Les noms de colonnes peuvent utiliser des caractères spéciaux, mais le nom doit être placé dans une séquence d’échappement avec des backticks dans toutes les instructions SQL si des caractères spéciaux sont utilisés. Unity Catalog conserve la casse des noms de colonne, mais les requêtes sur les tables Unity Catalog ne respectent pas la casse.

Nom de la connexion

Identifie une connexion étrangère. Une connexion étrangère sert de lien vers un système étranger, par exemple PostgreSQL et peut ensuite être utilisée pour référencer ses catalogues, schémas et tables.

Syntaxe

connection_identifier

Paramètres

Exemples

> CREATE CONNECTION my_postgresql ...;

Nom du catalogue

Identifie un catalogue. Un catalogue représente un regroupement d’objets qui peut être encore subdivisé en schémas.

Syntaxe

catalog_identifier

Paramètres

Exemples

> USE CATALOG hive_metastore;

> CREATE CATALOG mycatalog;

Nom du schéma

Identifie un schéma. Un schéma représente un regroupement d’objets dans un catalogue.

Syntaxe

{ [ catalog_name . ] schema_identifier |
  IDENTIFIER clause }

Paramètres

Exemples

> USE SCHEMA default;

> CREATE SCHEMA my_sc;

Nom de la base de données

Synonyme de Nom du schéma.

Bien que SCHEMA et DATABASE soient interchangeables, il est préférable d’utiliser SCHEMA.

Nom de la table

Identifie un objet table. La table peut être qualifiée avec un nom de schéma ou non qualifiée à l’aide d’un identificateur simple.

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 )

Paramètres

  • schema_name : nom qualifié ou non du schéma contenant la table.

  • table_identifier : identificateur qui spécifie le nom de la table ou table_alias.

  • file_format : json, csv, avro, parquet, orc, binaryFile, text ou delta (non-respect de la casse).

  • path_to_table : emplacement de la table dans le système de fichiers. Vous devez disposer de l’autorisation ANY_FILE pour pouvoir utiliser cette syntaxe.

  • Clause IDENTIFICATEUR : mappage d’une constante STRING à un nom de tableau.

  • temporal_spec : si utilisé, fait référence à une table Delta au point dans le temps ou à la version spécifié.

    Une spécification temporelle ne peut être employée que dans le contexte d’une requête ou d’une instruction MERGE USING.

    • @ timestamp_encoding : littéral Bigint positif qui encode un timestamp au format yyyyMMddHHmmssSSS.
    • @V version : littéral entier positif identifiant la version de la table Delta.
    • timestamp_expression : expression simple donnant un TIMESTAMP. timestamp_expressiom doit être une expression constante, mais peut contenir current_date() ou current_timestamp().
    • version : littéral entier ou littéral de chaîne identifiant la version de la table Delta.
  • credential_spec

    Vous pouvez utiliser des informations d’identification applicables pour accéder à un path_to_table qui n’est pas incorporé dans un emplacement externe.

    • credential_name

      Nom des informations d’identification utilisées pour accéder à l’emplacement de stockage.

Si le nom n’est pas qualifié et ne fait pas référence à un alias de table connu, Azure Databricks essaie tout d’abord de résoudre la table dans le schéma actuel.

Si le nom est qualifié par un schéma, Azure Databricks tente de résoudre la table dans le catalogue actuel.

Pour plus d’informations sur la résolution de noms, consultez Résolution de table et d’affichage .

Azure Databricks génère une erreur si vous utilisez une temporal_spec pour une table qui n’est pas au format Delta Lake.

Exemples

`Employees`

employees

hr.employees

`hr`.`employees`

hive_metastore.default.tab

system.information_schema.columns

delta.`somedir/delta_table`

`csv`.`spreadsheets/data.csv`

`csv`.`spreadsheets/data.csv` WITH (CREDENTIAL some_credential)

Nom de l’affichage

Identifie une vue. La vue peut être qualifiée avec un nom de schéma ou non qualifiée à l’aide d’un identificateur simple.

Syntaxe

{ [ schema_name . ] view_identifier |
  IDENTIFIER clause }

Paramètres

Exemples

`items`

items

hr.items

`hr`.`items`

Nom de la colonne

Identifie une colonne dans une table ou une vue. La colonne peut être qualifiée avec un nom de table ou de vue, ou non qualifiée à l’aide d’un identificateur simple.

Syntaxe

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

Paramètres

  • table_name : nom qualifié ou non de la table contenant la colonne.
  • view_name : nom qualifié ou non de la vue contenant la colonne.
  • column_identifier : identificateur qui spécifie le nom de la colonne.
  • Clause IDENTIFICATEUR : mappage d’une constante STRING à un nom de colonne.

La colonne identifiée doit exister dans la table ou la vue.

Azure Databricks prend en charge une colonne _metadata spéciale. Cette pseudo colonne de type struct fait partie de chaque table, et peut être utilisée pour récupérer des informations de métadonnées sur les lignes de la table.

Avertissement

Si le schéma de table contient une colonne nommée _metadata, les requêtes retournent la colonne de la source de données, et non les métadonnées du fichier. La colonne pseudo _metadata n’est pas accessible.

Exemples

-- 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 _matadata to retrieve infromation about rows retrieved from T.
> CREATE TABLE T(c1 INT);
> INSERT INTO T VALUES(1);
> SELECT T._metadata.file_size;
  574

Nom du champ

Identifie un champ dans un struct. Le champ doit être qualifié avec le chemin jusqu’au struct contenant le champ.

Syntaxe

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

Paramètres

Pour faire référence à un champ profondément imbriqué, vous pouvez indiquer l’identificateur de champ sur le chemin du struct racine.

Exemples

> SELECT addr.address.name
    FROM VALUES (named_struct('address', named_struct('number', 5, 'name', 'Main St'),
                              'city', 'Springfield')) as t(addr);
  Main St

Nom de la variable

Identifie une variable temporaire (session). La variable peut être qualifiée avec un nom de schéma (system.session ou session) ou non qualifiée à l’aide d’un identificateur simple.

Syntaxe

{ [ schema_name . ] variable_identifier |
  IDENTIFIER clause }

Paramètres

  • schema_name : system.session ou session contient toutes les variables temporaires.
  • variable_identifier : Un identificateur qui spécifie le nom de la variable.

Exemples

`session`.myvar

myvar

system.session.`myvar`

Nom de la fonction

Identifie une fonction. La fonction peut être qualifiée avec un nom de schéma ou non qualifiée à l’aide d’un identificateur simple.

Syntaxe

{ [ schema_name . ] function_identifier |
  IDENTIFIER clause }

Paramètres

Exemples

`math`.myplus

myplus

math.`myplus`

Nom du paramètre

Identifie un paramètre dans le corps d’une fonction SQL définie par l’utilisateur (UDF). La fonction peut être qualifiée avec un identificateur de fonction ou non qualifiée à l’aide d’un identificateur simple.

Syntaxe

[ function_identifier . ] parameter_identifier

Paramètres

Exemples

CREATE FUNCTION area(x INT, y INT) RETURNS INT
RETURN area.x + y;

Alias de table

Étiquette une référence de table, une requête, une fonction de table ou une autre forme de relation.

Syntaxe

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

Paramètres

Si vous indiquez des identificateurs de colonne, leur nombre doit correspondre au nombre de colonnes dans la relation correspondante.

Si vous ne fournissez pas d’identificateurs de colonne, leurs noms sont hérités de la relation étiquetée.

Exemples

> SELECT a, b FROM VALUES (1, 2) AS t(a, b);
 a  b
 1  2

> DELETE FROM emp AS e WHERE e.c1 = 5;

Alias de colonne

Étiquette le résultat d’une expression dans une liste SELECT à des fins de référence.

Si l’expression est une fonction de générateur table, l’alias étiquette la liste des colonnes produites.

Syntaxe

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

Paramètres

Bien que les alias de colonnes ne soient pas nécessairement uniques dans la liste SELECT, l’unicité est obligatoire pour faire référence à un alias par son nom.

Exemples

> SELECT 1 AS a;
 a
 1

> SELECT 1 a, 2 b;
 a b
 1 2

> SELECT 1 AS `a`;
 a
 1

> SELECT posexplode(array(2)) AS (i, a);
 i  a
 0  2

> SELECT a + a FROM (SELECT 1 AS a);
 a
 2

Credential name (Nom des informations d’identification)

Identifie des informations d’identification pour permettre d’accéder à un stockage situé à un emplacement externe.

Syntaxe

credential_identifier

Paramètres

  • credential_identifier : identificateur non qualifié qui spécifie de façon unique les informations d’identification.

Exemples

Nom de l’emplacement

Identifie un emplacement de stockage externe.

Syntaxe

location_identifier

Paramètres

  • location_identifier : identificateur non qualifié qui spécifie de façon unique l’emplacement.

Exemples

`s3-json-data`

s3_json_data

Nom de partage

Identifie un partage pour permettre d’accéder aux données partagées par un fournisseur.

Syntaxe

share_identifier

Paramètres

  • share_identifier : identificateur non qualifié qui spécifie de façon unique le partage.

Exemples

`public info`

`public-info`

public_info

Nom du fournisseur

Identifie un fournisseur de partage Delta.

Syntaxe

provider_identifier

Paramètres

Exemples

`Good Corp`

`Good-corp`

Good_Corp

Nom du destinataire

Identifie un destinataire d’un partage.

Syntaxe

recipient_identifier

Paramètres

  • recipient_identifier : identificateur non qualifié qui spécifie de façon unique le destinataire.

Exemples

`Good Corp`

`Good-corp`

Good_Corp

Nom du volume

Identifie un volume Unity Catalog. Le volume peut être qualifié avec un nom de schéma ou non qualifié à l’aide d’un identificateur simple.

Syntaxe

[ schema_name .] volume_identifier

Paramètres

  • schema_name : nom qualifié ou non du schéma contenant la volume.
  • volume_identifier : identificateur non qualifié qui spécifie de façon unique le volume dans le schéma.

Exemples

`myVolume`

`my volume`

myschema.myVolume

my_unity_catalog.my_schema.my_volume