Databricks Runtime namen

Identificeert verschillende soorten objecten in Databricks Runtime.

Databasenaam

Identificeert een database. Een database biedt een groepering van objecten in de catalogus.

Syntaxis

database_identifier

Parameters

Voorbeelden

> use default;

> create database my_db;

Schemanaam

Een synoniem voor databasenaam.

Tabelnaam

Identificeert een tabelobject. De tabel kan worden gekwalificeerd met een databasenaam of niet-gekwalificeerde met behulp van een eenvoudige id.

Syntaxis

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

Parameters

  • database_name:een gekwalificeerde of niet-gekwalificeerde databasenaam die de tabel bevat.

  • table_identifier:een id die de naam van de tabel of table_alias.

  • file_format:een van , csv , , , , , , , , avroparquetorcbinaryFiletextdelta (niet-gevoelig voor case).

  • path_to_table:de locatie van de tabel in het bestandssysteem. U moet de machtiging ANY_FILE hebben om deze syntaxis te gebruiken.

  • temporal_specification:wanneer wordt gebruikt, verwijst naar een Delta-tabel op het opgegeven tijdstip of de opgegeven versie.

    U kunt een tijdelijke specificatie alleen gebruiken binnen de context van een query of een MERGE USING.

    • @ timestamp_encoding:een positieve BIGINT-letterlijke code die een tijdstempel in indeling codeert.
    • @V versie:een positieve LETTERLIJKE INT-letterlijke identificatie van de versie van de Delta-tabel.
  • expr:een eenvoudige expressie die wordt geëvalueerd als een TIMESTAMP. expr moet een constante expressie zijn, maar kan of current_date()current_timestamp() bevatten.

  • timestamp_expression kan een van de volgende zijn:

    • '2018-10-18T22:15:12.013Z', dat wil zeggen, een tekenreeks die kan worden gecast naar een tijdstempel
    • cast('2018-10-18 13:36:32 CEST' as timestamp)
    • '2018-10-18', dat wil zeggen, een datumreeks
    • current_timestamp() - interval 12 hours
    • date_sub(current_date(), 1)
    • Andere expressies die of kunnen worden gecast naar een tijdstempel
  • version is een lange waarde die kan worden verkregen uit de uitvoer van DESCRIBE HISTORY table_spec .

Geen van timestamp_expression beide version kan subquery's zijn.

Als de naam niet gekwalificeerd is en niet verwijst naar een bekende tabelalias, probeert Databricks Runtime eerst de tabel om te zetten als een tabel in de huidige database.

Als de naam is gekwalificeerd met een database, probeert Databricks Runtime tabel in de huidige catalogus om te zetten.

Databricks Runtime wordt een foutmelding weergegeven als u een gebruikt voor een tabel temporal_specification die niet de Delta Lake-indeling heeft.

Voorbeelden

`Employees`

employees

hr.employees

`hr`.`employees`

delta.`somedir/delta_table`

`csv`.`spreadsheets/data.csv`

Weergavenaam

Identificeert een weergave. De weergave kan worden gekwalificeerd met een databasenaam of niet-gekwalificeerde met behulp van een eenvoudige id.

Syntaxis

[ database_name . ] view_identifier

Parameters

Voorbeelden

`items`

items

hr.items

`hr`.`items`

Kolomnaam

Identificeert een kolom in een tabel of weergave. De kolom kan worden gekwalificeerd met een tabel- of weergavenaam, of niet-gekwalificeerd met behulp van een eenvoudige id.

Syntaxis

[ { table_name | view_name } . ] column_identifier

Parameters

  • table_name:een gekwalificeerde of niet-gekwalificeerde tabelnaam van de tabel die de kolom bevat.
  • view_name:een gekwalificeerde of niet-gekwalificeerde weergavenaam van de weergave die de kolom bevat.
  • column_identifier:een id die de naam van de kolom specificeert.

De geïdentificeerde kolom moet bestaan in de tabel of weergave.

Voorbeelden

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

Veldnaam

Hiermee wordt een veld in een struct geïdentificeerd. De kolom kan worden gekwalificeerd met een tabel- of weergavenaam, of niet-gekwalificeerd met behulp van een eenvoudige id.

Syntaxis

expr { . field_identifier [. ...] }

Parameters

  • expr:een expressie van het type STRUCT.
  • field_identifier:een id die de naam van het veld specificeert.

Er kan naar een diep genest veld worden verwezen door de veld-id op te geven langs het pad naar de hoofdstruct.

Voorbeelden

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

Functienaam

Identificeert een functie. De functie kan worden gekwalificeerd met een databasenaam of niet-gekwalificeerd met behulp van een eenvoudige id.

Syntaxis

[ database_name . ] function_identifier

Parameters

Voorbeelden

`math`.myplus

myplus

math.`myplus`

Tabelalias

Een tabelverwijzing, query, tabelfunctie of andere vorm van een relatie labelen.

Syntaxis

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

Parameters

Als u kolom-id's op geeft, moet het aantal overeenkomen met het aantal kolommen in de overeenkomende relatie.

Als u geen kolom-id's op geeft, worden de namen overgenomen van de gelabelde relatie.

Voorbeelden

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

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

Kolomalias

Labelt het resultaat van een expressie in een SELECT lijst ter referentie.

Als de expressie een generatorfunctie met tabelwaarde is,labelt de alias de lijst met geproduceerde kolommen.

Syntaxis

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

Parameters

Hoewel kolomaliassen niet uniek hoeven te zijn binnen de selectielijst, is uniekheid een vereiste om op naam naar een alias te verwijzen.

Voorbeelden

> 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