Databricks Runtime namn

Identifierar olika typer av objekt i Databricks Runtime.

Databasnamn

Identifierar en databas. En databas innehåller en gruppering av objekt i katalogen.

Syntax

database_identifier

Parametrar

Exempel

> use default;

> create database my_db;

Schemanamn

En synonym för databasnamnet.

Tabellnamn

Identifierar ett tabellobjekt. Tabellen kan kvalificeras med ett databasnamn eller vara okvalificerad med hjälp av en enkel identifierare.

Syntax

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

Parametrar

  • database_name:Ett kvalificerat eller okvalificerat databasnamn som innehåller tabellen.

  • table_identifier:En identifierare som anger namnet på tabellen eller table_alias.

  • file_format:En av , csvavro , , , parquet , , , orc , binaryFiletextdelta (okänsligt fall).

  • path_to_table:Platsen för tabellen i filsystemet. Du måste ha behörighet ANY_FILE att använda den här syntaxen.

  • temporal_specification:När används refererar till en Delta-tabell vid den angivna tidpunkten eller versionen.

    Du kan bara använda en temporal specifikation inom kontexten för en fråga eller en MERGE MED.

    • @ timestamp_encoding:En positiv BIGINT-literal som kodar en tidsstämpel i format.
    • @V version:En positiv INT-literal som identifierar deltatabellens version.
  • expr:Ett enkelt uttryck som utvärderas till en TIDSSTÄMPEL. expr måste vara ett konstant uttryck, men kan innehålla current_date() eller current_timestamp() .

  • timestamp_expression kan vara något av följande:

    • '2018-10-18T22:15:12.013Z', det vill säga en sträng som kan castas till en tidsstämpel
    • cast('2018-10-18 13:36:32 CEST' as timestamp)
    • '2018-10-18', det vill säga en datumsträng
    • current_timestamp() - interval 12 hours
    • date_sub(current_date(), 1)
    • Alla andra uttryck som är eller kan castas till en tidsstämpel
  • version är ett långt värde som kan hämtas från utdata från DESCRIBE HISTORY table_spec .

Varken timestamp_expression eller kan vara version underfrågor.

Om namnet är okvalificerat och inte refererar till ett känt tabellaliasförsöker Databricks Runtime att matcha tabellen som en tabell i den aktuella databasen.

Om namnet är kvalificerat med en databas Databricks Runtime försöka matcha tabellen i den aktuella katalogen.

Databricks Runtime ett fel om du använder en för temporal_specification en tabell som inte är i Delta Lake-format.

Exempel

`Employees`

employees

hr.employees

`hr`.`employees`

delta.`somedir/delta_table`

`csv`.`spreadsheets/data.csv`

Vynamn

Identifierar en vy. Vyn kan kvalificeras med ett databasnamn eller vara okvalificerad med hjälp av en enkel identifierare.

Syntax

[ database_name . ] view_identifier

Parametrar

  • database_name:Ett kvalificerat eller okvalificerat databasnamn som innehåller vyn.
  • view_identifier:En identifierare som anger namnet på vyn eller visningsidentifieraren för en CTE.

Exempel

`items`

items

hr.items

`hr`.`items`

Kolumnnamn

Identifierar en kolumn i en tabell eller vy. Kolumnen kan kvalificeras med en tabell eller ett visningsnamn, eller okvalificerad med hjälp av en enkel identifierare.

Syntax

[ { table_name | view_name } . ] column_identifier

Parametrar

  • table_name:Ett kvalificerat eller okvalificerat tabellnamn för tabellen som innehåller kolumnen.
  • view_name:Ett kvalificerat eller okvalificerat vynamn för vyn som innehåller kolumnen.
  • column_identifier:En identifierare som anger namnet på kolumnen.

Den identifierade kolumnen måste finnas i tabellen eller vyn.

Exempel

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

Fältnamn

Identifierar ett fält i en struct. Kolumnen kan kvalificeras med en tabell eller ett visningsnamn, eller okvalificerad med hjälp av en enkel identifierare.

Syntax

expr { . field_identifier [. ...] }

Parametrar

  • expr:Ett uttryck av typen STRUCT.
  • field_identifier:En identifierare som anger namnet på fältet.

Du kan referera till ett djupt kapslat fält genom att ange fältidentifieraren längs sökvägen till rotstruktur.

Exempel

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

Funktionsnamn

Identifierar en funktion. Funktionen kan kvalificeras med ett databasnamn eller vara okvalificerad med hjälp av en enkel identifierare.

Syntax

[ database_name . ] function_identifier

Parametrar

Exempel

`math`.myplus

myplus

math.`myplus`

Tabellalias

Etiketterar en tabellreferens, fråga, tabellfunktion eller någon annan form av en relation.

Syntax

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

Parametrar

Om du anger kolumnidentifierare måste deras antal matcha antalet kolumner i den matchade relationen.

Om du inte anger kolumnidentifierare ärvs deras namn från den märkta relationen.

Exempel

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

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

Kolumnalias

Etiketterar resultatet av ett uttryck i en SELECT lista som referens.

Om uttrycket är en generatorfunktion för tabellvärdeetiketterar aliaset listan över kolumner som skapas.

Syntax

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

Parametrar

Kolumnalias behöver inte vara unika i urvalslistan, men unikhet är ett krav att referera till ett alias efter namn.

Exempel

> 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