Noms de Databricks Runtime

Identifie différents genres d’objets dans Databricks Runtime.

Nom de la base de données

Identifie une base de données. Une base de données fournit un regroupement d’objets dans le catalogue.

Syntaxe

database_identifier

Paramètres

Exemples

> use default;

> create database my_db;

Nom du schéma

Synonyme du nom de la base de données.

Nom du tableau

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

Syntaxe

{ [ database_name . ] table_identifier |
  { file_format | `file_format` } . `path_to_table` }
  [temporal_specification]

temporal_specification
{
  @ timestamp_encoding |
  @V version |
  TIMESTAMP AS OF expr |
  VERSION AS OF version
}

Paramètres

  • database_name: nom de base de données qualifié ou non qualifié qui contient la table.

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

  • file_format:,,,,,,, (non-respect de la csvavroparquetorcbinaryFiletextdelta casse).

  • path_to_table: emplacement de la table dans le système de fichiers. Vous devez avoir l' ANY_FILE autorisation d’utiliser cette syntaxe.

  • temporal_specification: lorsqu’il est utilisé, fait référence à une table Delta au point spécifié dans le temps ou la version.

    Vous pouvez utiliser une spécification temporelle uniquement dans le contexte d’une requête ou d’une fusion à l’aidede.

    • @ timestamp_encoding: littéral bigint positif qui encode un horodateur au format.
    • @V version: littéral int positif identifiant la version de la table Delta.
  • expr: expression simple qui prend la valeur d’un horodatage. expr doit être une expression constante, mais peut contenir current_date() ou current_timestamp() .

  • timestamp_expression peut être l’un des éléments suivants :

    • '2018-10-18T22:15:12.013Z', autrement dit, une chaîne qui peut être convertie en horodateur
    • cast('2018-10-18 13:36:32 CEST' as timestamp)
    • '2018-10-18', autrement dit, une chaîne de date
    • current_timestamp() - interval 12 hours
    • date_sub(current_date(), 1)
    • Toute autre expression qui est ou qui peut être castée en un horodatage
  • version valeur de type long qui peut être obtenue à partir de la sortie de DESCRIBE HISTORY table_spec .

Ni timestamp_expression ni ne peuvent être des sous- version requêtes.

Si le nom n’est pas qualifié et ne fait pas référence à un alias de tableconnu, Databricks Runtime essaie tout d’abord de résoudre la table en tant que table dans la base de données actuelle.

Si le nom est qualifié avec une base de données, Databricks Runtime tente de résoudre la table dans le catalogue actuel.

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

Exemples

`Employees`

employees

hr.employees

`hr`.`employees`

delta.`somedir/delta_table`

`csv`.`spreadsheets/data.csv`

Nom de l’affichage

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

Syntaxe

[ database_name . ] view_identifier

Paramètres

  • database_name: nom de base de données qualifié ou non qualifié qui contient la vue.
  • view_identifier: identificateur qui spécifie le nom de la vue ou l’identificateur de vue d’une CTE.

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

Paramètres

  • table_name: nom de table qualifié ou non qualifié de la table contenant la colonne.
  • view_name: nom de vue qualifié ou non qualifié de la vue contenant la colonne.
  • column_identifier: identificateur qui spécifie le nom de la colonne.

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

Exemples

> SELECT c1 FROM VALUES(1) AS T(c1);
 c1
 1

Nom du champ

Identifie un champ dans un struct. 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

expr { . field_identifier [. ...] }

Paramètres

  • expr: expression de type struct.
  • field_identifier: identificateur qui spécifie le nom du champ.

Un champ profondément imbriqué peut être référencé en spécifiant l’identificateur de champ le long du chemin d’accès au 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 fonction

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

Syntaxe

[ database_name . ] function_identifier

Paramètres

  • database_name: nom de base de données qualifié ou non qualifié contenant la fonction.
  • function_identifier: identificateur qui spécifie le nom de la fonction.

Exemples

`math`.myplus

myplus

math.`myplus`

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 fournissez 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 SELECT liste pour 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 colonne ne soient pas nécessairement uniques dans la liste de sélection, l’unicité est obligatoire pour référencer un alias par 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