Táblázattulajdonságok és táblázatbeállítások

A következőkre vonatkozik:jelölje be az igennel jelölt jelölőnégyzetet Databricks SQL jelölje be az igennel jelölt jelölőnégyzetet Databricks Runtime

A táblák és nézetek felhasználó által definiált címkéit határozza meg.

  • táblatulajdonságok

    A táblatulajdonság egy kulcs-érték pár, amelyet inicializálhat CREATE TABLE vagy CREATE VIEW végrehajtásakor. Megszüntethet meglévő vagy új táblatulajdonságokat , SET, ALTER TABLE vagy ALTER VIEW használatával.

    A táblatulajdonságokkal olyan táblákat címkézhet meg, amelyeket az SQL nem követ nyomon.

  • táblabeállítások

    A táblabeállítások célja, hogy a tárolási tulajdonságokat átadják a mögöttes tárolónak, például SERDE-tulajdonságokat a Hive-nek.

    A tábla opció egy kulcs-érték pár, amelyet inicializálhat, amikor végrehajt egy CREATE TABLE-t. Nem lehet SET vagy UNSET a táblázatbeállítást.

TBLPROPERTIES

Egy vagy több táblatulajdonság beállítása új táblában vagy nézetben.

A táblatulajdonságokkal olyan táblákat címkézhet meg, amelyeket az SQL nem követ nyomon.

Szinaxis

TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )

property_key
  { identifier [. ...] | string_literal }

Paraméterek

  • tulajdonság_kulcs

    A tulajdonságkulcs. A kulcs egy vagy több azonosítóból, amelyek ponttal vannak elválasztva, vagy egy szöveges literálból állhat.

    A kulcsoknak egyedinek kell lenniük, és a kis- és nagybetűk megkülönböztetése számít.

  • property_val

    A tulajdonság értéke. Az értéknek egy BOOLEAN, STRING, INTEGERvagy DECIMAL literálnak kell lennie.

Példák

-- Create table with user defined table properties
> CREATE TABLE T(c1 INT) TBLPROPERTIES('this.is.my.key' = 12, this.is.my.key2 = true);
> SHOW TBLPROPERTIES T;
key              value
---------------- -----
...
this.is.my.key      12
this.is.my.key2   true
...

SET TBLPROPERTIES

Egy vagy több táblatulajdonság beállítása meglévő táblában vagy nézetben.

Szinaxis

SET TBLPROPERTIES ( { property_key [ = ] property_val } [, ...] )

property_key
  { identifier [. ...] | string_literal }

Paraméterek

  • tulajdonság_kulcs

    A tulajdonságkulcs. A kulcs egy vagy több azonosítóból, amelyek ponttal vannak elválasztva, vagy egy szöveges literálból állhat.

    A kulcsoknak egyedinek kell lenniük, és a kis- és nagybetűk megkülönböztetése számít.

  • property_val

    A tulajdonság új értéke. Az értéknek egy BOOLEAN, STRING, INTEGERvagy DECIMAL literálnak kell lennie.

Példák

-- Alter the a table's table properties.
>  ALTER TABLE T SET TBLPROPERTIES(this.is.my.key = 14, 'this.is.my.key2' = false);
> SHOW TBLPROPERTIES T;
key              value
---------------- -----
...
this.is.my.key      14
this.is.my.key2  false
...

UNSET táblatulajdonságok

Eltávolít egy vagy több táblatulajdonságt egy táblából vagy nézetből.

Szinaxis

UNSET TBLPROPERTIES [ IF EXISTS ] ( property_key [, ...] )

property_key
  { identifier [. ...] | string_literal }

Paraméterek

  • HA LÉTEZIK

    Nem kötelező záradék, amely arra utasítja a Databricks SQL-t, hogy ne okozz hibát, ha valamelyik tulajdonságkulcs nem létezik.

  • tulajdonság_kulcs

    Az eltávolítandó tulajdonság kulcs. A kulcs egy vagy több azonosítóból, amelyek ponttal vannak elválasztva, vagy egy szöveges literálból állhat.

    A tulajdonságkulcsok megkülönböztetik a kis- és nagybetűket. Ha property_key nem létezik, és a hiba akkor jelentkezik, ha IF EXISTS nincs megadva.

Példák

-- Remove a table's table properties.
>  ALTER TABLE T UNSET TBLPROPERTIES(this.is.my.key, 'this.is.my.key2');
> SHOW TBLPROPERTIES T;
key                              value
-------------------------------- -----
... keys other that key and key2 ...

OPCIÓK

Egy vagy több táblázatbeállítás beállítása egy új táblában.

A táblabeállítások célja, hogy a tárolási tulajdonságokat átadják a mögöttes tárolónak, például SERDE-tulajdonságokat a Hive-nek.

A Delta Lake-táblák beállításainak megadása ezeknek a beállításoknak a táblatulajdonságokként való megjelenítését is eredményezi.

Szinaxis

OPTIONS ( { property_key [ = ] property_val } [, ...] )

property_key
  { identifier [. ...] | string_literal }

Paraméterek

  • tulajdonság_kulcs

    A tulajdonságkulcs. A kulcs egy vagy több azonosítóból, amelyek ponttal vannak elválasztva, vagy egy szöveges literálból állhat.

    A tulajdonságkulcsoknak egyedinek kell lenniük, és különbséget tesznek a kis- és nagybetűk között.

  • property_val

    A tulajdonság értéke. Az értéknek egy BOOLEAN, STRING, INTEGERvagy DECIMAL literálnak kell lennie.

    A Databricks SQL-ben és a Databricks Runtime 13.3 LTS-ban, valamint az azt követő verziókban property_valállandó kifejezés lehet.

Példák

-- Create table with user defined table option
-- The options appears with an `option.` prefix.
> CREATE TABLE T(c1 INT) OPTIONS(this.is.my.key = 'blue' || 'green');
> SHOW TBLPROPERTIES T;
key              value
---------------- -----
...
option.this.is.my.key bluegreen
...

Fenntartott tábla tulajdonság kulcsok

Az Azure Databricks lefoglal néhány tulajdonságkulcsot a saját használatára, és hibát jelez, ha megpróbálja használni őket:

  • external

    Külső tábla létrehozásához használja CREATE EXTERNAL TABLE.

  • location

    A tábla helyének beállításához használja a LOCATION záradékait a ALTER TABLE és a CREATE TABLE esetében.

  • owner

    A táblához vagy nézethez tartozó tulajdonjog átruházásához használja a [SET] OWNER TO záradékot a ALTER TABLE és ALTER VIEW részből. SET választható kulcsszóként engedélyezve van a Databricks SQL-ben.

  • provider

    Tábla adatforrásának beállításához használja a USINGCREATE TABLE záradékát

A option azonosítótól kezdve nem szabad tulajdonságkulcsokat használnia. Az előtag-azonosító ki lesz szűrve a SHOW TBLPROPERTIES-ból. A option előtag táblázatbeállításokmegjelenítésére is használható.

Gyakori TBLPROPERTIES és OPTIONS kulcsok

Delta- és Iceberg-táblatulajdonságok

A Delta Lake és az Apache Iceberg táblák gyakran használják a következő beállításokat:

  • delta.appendOnly: A true és UPDATE műveletek letiltásához állítsa be a DELETE beállítást.
  • delta.dataSkippingNumIndexedCols: Állítsa be azoknak a kezdő oszlopoknak a számát, amelyekhez statisztikákat szeretne gyűjteni és figyelembe venni.
  • delta.deletedFileRetentionDuration: Olyan időközre van állítva, mint a 'interval 7 days', amely szabályozza, hogy VACUUM mikor törölhet fájlokat.
  • delta.logRetentionDuration: Állítson be egy olyan időközt, mint a 'interval 60 days', amely szabályozza, hogy az időutazási lekérdezések mennyi időt őriznek meg.

Az elérhető Delta Lake- és Apache Iceberg-táblatulajdonságok teljes listájáért, beleértve a leírásokat, az adattípusokat és az alapértelmezett értékeket, tekintse meg a Táblatulajdonságok hivatkozását.

Fájlformátum BEÁLLÍTÁSAI

Ha nem Delta Lake-adatforrással hoz létre táblázatot a USING használatávalCREATE TABLE, fájlformátum-specifikus tárolási tulajdonságokat adhat OPTIONS át. Az elérhető beállításkulcsok a fájlformátumtól (CSV, , JSON, PARQUET, ORCAVRO, TEXT, , XML) BINARYFILEfüggnek. Az egyes fájlformátumok rendelkezésre álló beállításairól további információt a táblaértékfüggvényben találread_files.