Databricks Runtime nevek

Különböző típusú objektumokat azonosít a Databricks Runtime.

Adatbázis neve

Egy adatbázist azonosít. Az adatbázisok objektumok egy csoportját biztosítják a katalógusban.

Szintaxis

database_identifier

Paraméterek

Példák

> use default;

> create database my_db;

Séma neve

Az adatbázisnév szinonimája.

Table name (Táblázat neve)

Egy táblaobjektumot azonosít. A tábla minősített adatbázisnévvel vagy nem minősített egy egyszerű azonosítóval.

Szintaxis

{ [ 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éterek

  • database_name:A táblát tartalmazó minősített vagy nem minősített adatbázisnév.

  • table_identifier: Egy azonosító, amely meghatározza a tábla vagy a table_alias.

  • file_format: a , , , , , , , , és egyike (a kis- és csv a avroparquetorcbinaryFiletextdelta nagy- és nagy-

  • path_to_table:A tábla helye a fájlrendszerben. Ennek a szintaxisnak ANY_FILE a használatára jogosultsággal kell rendelkeznie.

  • temporal_specification:Ha egy Delta-táblára hivatkozik a megadott időpontban vagy verzióban.

    Historikus specifikációt csak lekérdezés vagy MERGE USING környezetben használhat.

    • @ timestamp_encoding:Pozitív BIGINT literál, amely formátumban kódol egy időbélyeget.
    • @V verziója:Pozitív INT literál, amely a Delta-tábla verzióját azonosítja.
  • expr:Egy egyszerű kifejezés, amely egy TIMESTAMP értéket ad vissza. expr konstans kifejezésnek kell lennie, de a vagy a kifejezést current_date() is current_timestamp() tartalmazhatja.

  • timestamp_expression A a következő bármelyik lehet:

    • '2018-10-18T22:15:12.013Z', ez azt jelenti, hogy egy időbélyegzőre átveható sztring
    • cast('2018-10-18 13:36:32 CEST' as timestamp)
    • '2018-10-18', ez egy dátumsring
    • current_timestamp() - interval 12 hours
    • date_sub(current_date(), 1)
    • Bármely más kifejezés, amely vagy amely időbélyegzőre van áttűnve
  • version A egy hosszú érték, amely a kimenete alapján szerezhető DESCRIBE HISTORY table_spec be.

Sem timestamp_expression a sem nem lehet version segédlekérdezés.

Ha a név nem minősített, és nem hivatkozik ismert tábla aliasra Databricks Runtime először megpróbálja táblaként feloldani a táblát az aktuális adatbázisban.

Ha a név minősített egy adatbázissal, a Databricks Runtime megkísérli feloldani az aktuális katalógusban lévő táblát.

Databricks Runtime hibát jelez, ha a nem Delta Lake formátumú táblához temporal_specification használ egy függvényt.

Példák

`Employees`

employees

hr.employees

`hr`.`employees`

delta.`somedir/delta_table`

`csv`.`spreadsheets/data.csv`

Nézet neve

Egy nézetet azonosít. A nézet minősített adatbázisnévvel vagy nem minősített egy egyszerű azonosítóval.

Szintaxis

[ database_name . ] view_identifier

Paraméterek

Példák

`items`

items

hr.items

`hr`.`items`

Oszlop neve

Egy táblán vagy nézeten belüli oszlopot azonosít. Az oszlopot lehet minősített táblával vagy nézetnévvel, vagy nem minősített egyszerű azonosítóval.

Szintaxis

[ { table_name | view_name } . ] column_identifier

Paraméterek

  • table_name:Az oszlopot tartalmazó tábla minősített vagy nem minősített táblaneve.
  • view_name:Az oszlopot tartalmazó nézet minősített vagy nem minősített nézetneve.
  • column_identifier: Az oszlop nevét megszabadó azonosító.

Az azonosított oszlopnak léteznie kell a táblában vagy nézetben.

Példák

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

Mező neve

Egy strukturálon belüli mezőt azonosít. Az oszlopot lehet minősített táblával vagy nézetnévvel, vagy nem minősített egyszerű azonosítóval.

Szintaxis

expr { . field_identifier [. ...] }

Paraméterek

  • expr:STRUCT típusú kifejezés.
  • field_identifier: A mező nevét megszabadó azonosító.

Egy mélyen beágyazott mezőre úgy lehet hivatkozni, hogy megadja a mezőazonosítót a gyökérstruktúra elérési útja mentén.

Példák

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

Függvény neve

Egy függvényt azonosít. A függvény minősített lehet adatbázisnévvel, vagy nem minősített egy egyszerű azonosítóval.

Szintaxis

[ database_name . ] function_identifier

Paraméterek

Példák

`math`.myplus

myplus

math.`myplus`

Tábla aliasa

Felcímkék egy táblahivatkozást, lekérdezést, táblafunkciót vagy más relációs formát.

Szintaxis

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

Paraméterek

Ha oszlopazonosítókat ad meg, a számuknak meg kell egyeznie az egyező relációs oszlopszámmal.

Ha nem ad meg oszlopazonosítókat, a nevük a címkével jelölt relációs névből öröklődik.

Példák

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

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

Oszlop aliasa

Felcímkéi egy kifejezés eredményét egy SELECT listában hivatkozásként.

Ha a kifejezés egy tábla értékű generátorfüggvény, az alias felcímkéi a előállított oszlopok listáját.

Szintaxis

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

Paraméterek

Bár az oszlop aliasának nem kell egyedinek lennie a kijelölési listán, az egyediség követelmény az aliasok név alapján való hivatkozásához.

Példák

> 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