Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A streamelő táblák olyan táblák, amely támogatja a streamelést vagy a növekményes adatfeldolgozást. A streamelési táblákat csővezetékek támasztják alá. A streamelési táblák minden frissítésekor a forrástáblákhoz hozzáadott adatok hozzá lesznek fűzve a streamelési táblához. A streamelési táblákat manuálisan vagy ütemezés szerint frissítheti.
Ha többet szeretne megtudni a frissítések végrehajtásáról vagy ütemezéséről, olvassa el a Folyamatfrissítés futtatása című témakört.
Szemantika
CREATE [OR REFRESH] [PRIVATE] STREAMING TABLE
table_name
[ table_specification ]
[ table_clauses ]
[ AS query ]
table_specification
( { column_identifier column_type [column_properties] } [, ...]
[ column_constraint ] [, ...]
[ , table_constraint ] [...] )
column_properties
{ NOT NULL | COMMENT column_comment | column_constraint | MASK clause } [ ... ]
table_clauses
{ USING DELTA
PARTITIONED BY (col [, ...]) |
CLUSTER BY clause |
LOCATION path |
COMMENT view_comment |
TBLPROPERTIES clause |
WITH { ROW FILTER clause } } [ ... ]
Paraméterek
REFRESH
Ha meg van adva, létrehozza a táblát, vagy frissít egy meglévő táblát és annak tartalmát.
PRIVÁT
Létrehoz egy privát streamelési táblát.
- Ezek nem lettek hozzáadva a katalógushoz, és csak a definiáló folyamaton belül érhetők el
- Ugyanazzal a névvel rendelkezhetnek, mint egy meglévő objektum a katalógusban. A csővezetéken belül, ha egy privát streamelési tábla és egy katalógusbeli objektum neve megegyezik, a névre mutató hivatkozások a privát streamelési táblára kerülnek feloldásra.
- A privát streamelési táblák csak a folyamat teljes élettartama alatt vannak megőrzve, nem csak egyetlen frissítéssel.
A privát streamelési táblákat korábban a
TEMPORARYparaméterrel hozták létre.table_name
Az újonnan létrehozott tábla neve. A teljes táblanévnek egyedinek kell lennie.
táblázat_specifikáció
Ez az opcionális záradék határozza meg az oszlopok listáját, azok típusait, tulajdonságait, leírását és oszlopkorlátjait.
-
Az oszlopneveknek egyedinek kell lenniük, és le kell képezniük a lekérdezés kimeneti oszlopait.
-
Megadja az oszlop adattípusát. Nem minden adattípust, amelyet az Azure Databricks támogat, támogatnak a streamelési táblák.
column_comment
Egy tetszőleges
STRINGliterál, amely az oszlopot írja le. Ezt a beállítást a beállítássalcolumn_typeegyütt kell megadni. Ha az oszloptípus nincs megadva, a program kihagyja az oszlop megjegyzését.-
Kényszert ad hozzá, amely érvényesíti az adatokat, amint a táblába kerülnek. Lásd: Adatminőség kezelése folyamatelvárásokkal.
-
Fontos
Ez a funkció nyilvános előzetes verzióban van.
Olyan oszlopmaszk funkciót ad hozzá, amely lehetővé teszi a bizalmas adatok anonimizálását.
Lásd: Sorszűrők és oszlopmaszkok.
-
tábla_korlátozás
Fontos
Ez a funkció nyilvános előzetes verzióban van.
Séma megadásakor megadhatja az elsődleges és az idegen kulcsokat. A korlátozások tájékoztató jellegűek, és nincsenek kényszerítve. Tekintse meg a CONSTRAINT záradékot az SQL nyelvi hivatkozásában.
Megjegyzés:
A táblakorlátozások meghatározásához a folyamatnak Unity Catalog-kompatibilis folyamatnak kell lennie.
táblázat_feltételek
Opcionálisan megadhatja a tábla particionálási, megjegyzési és felhasználó által definiált tulajdonságait. Minden al záradék csak egyszer adható meg.
A DELTA HASZNÁLATA
Megadja az adatformátumot. Az egyetlen lehetőség a DELTA.
Ez a záradék opcionális, és alapértelmezés szerint a DELTA értéket veszi fel.
PARTÍCIÓVAL
A tábla particionálásához használandó egy vagy több oszlop választható listája. Kölcsönösen kizárja egymást a
CLUSTER BY-vel.A folyékony klaszterezés rugalmas, optimalizált megoldást biztosít a csoportosításhoz. Fontolja meg a
CLUSTER BYhasználatátPARTITIONED BYhelyett a folyamatvezetékek számára.CLUSTER BY
Engedélyezze a "liquid clustering" funkciót a táblában, és határozza meg a fürtözési kulcsként használni kívánt oszlopokat. Használjon automatikus folyékony fürtözést,
CLUSTER BY AUTOés a Databricks intelligensen választja ki a fürtözési kulcsokat a lekérdezési teljesítmény optimalizálásához. Kölcsönösen kizárja egymást aPARTITIONED BY-vel.HELYSZÍN
A táblaadatok opcionális tárolási helye. Ha nincs beállítva, a rendszer alapértelmezés szerint a folyamat tárolási helyére kerül.
MEGJEGYZÉS
A táblázat leírásához választható szó szerinti
STRINGkifejezés.TBLPROPERTIES
A tábla táblatulajdonságainak választható listája.
VAL ROW FILTER
Fontos
Ez a funkció nyilvános előzetes verzióban van.
Sorszűrő függvényt ad hozzá a táblához. A tábla jövőbeli lekérdezései azoknak a soroknak a részhalmazát kapják meg, amelyekre a függvény IGAZ értéket ad. Ez a részletes hozzáférés-vezérléshez hasznos, mert lehetővé teszi, hogy a függvény megvizsgálja a behívó felhasználó identitását és csoporttagságát, hogy eldöntse, szűr-e bizonyos sorokat.
Lásd
ROW FILTERzáradék.-
Ez a záradék feltölti a táblát a
queryadataival. Ennek a lekérdezésnek egy streamelési lekérdezésnek kell lennie. A STREAM kulcsszóval stream-szemantikát használhat a forrásból való olvasáshoz. Ha az olvasás egy meglévő rekord módosítását vagy törlését tapasztalja, hibaüzenet jelenik meg. A legbiztonságosabb, ha statikus vagy csak hozzáfűző forrásokból olvas. A módosítási véglegesítéseket tartalmazó adatok betöltéséhez használhatja a Pythont és aSkipChangeCommitshibák kezelésére szolgáló lehetőséget.Ha egy
query-t és egytable_specification-et együtt ad meg, atable_specification-ben megadott táblasémának tartalmaznia kell aqueryáltal visszaadott összes oszlopot, ellenkező esetben hibaüzenetet kap. Atable_specificationmegadott, dequeryáltal nem visszaadott oszlopoknullértékeket ad vissza lekérdezéskor.További információért az adatfolyamokról, tekintse meg a Folyamatokkal történő adatátalakítást.
Szükséges engedélyek
A folyamat futtató felhasználójának a következő engedélyekkel kell rendelkeznie:
-
SELECTengedély az alaptáblákra, amelyekre a streamelési tábla hivatkozik. -
USE CATALOGjogosultsággal a szülőkatalóguson, valamintUSE SCHEMAjogosultsággal a szülősémán. -
CREATE MATERIALIZED VIEWjogosultság a streaming tábla sémájára.
Ahhoz, hogy a felhasználó frissíthesse a streamelési táblában definiált folyamatot, a következőt kell megkövetelnie:
-
USE CATALOGjogosultsággal a szülőkatalóguson, valamintUSE SCHEMAjogosultsággal a szülősémán. - A streamelési tábla tulajdonjoga vagy
REFRESHjogosultság a streamelési táblán. - A streamelési tábla tulajdonosának jogosultsággal
SELECTkell rendelkeznie a streamelési tábla által hivatkozott alaptáblák felett.
Ahhoz, hogy egy felhasználó le tudja kérdezni az eredményként kapott streamelési táblát, a következőre van szükség:
-
USE CATALOGjogosultsággal a szülőkatalóguson, valamintUSE SCHEMAjogosultsággal a szülősémán. -
SELECTjogosultság a streamelési tábla felett.
Korlátozások
- Csak a táblatulajdonosok frissíthetik a streamelő táblákat a legújabb adatok lekéréséhez.
-
ALTER TABLEparancsok nem engedélyezettek a streamelési táblákon. A tábla definícióját és tulajdonságait aCREATE OR REFRESHvagy ALTER STREAMING TABLE utasítással kell módosítani. - A táblaséma DML-parancsokkal (például
INSERT INTO) történő fejlesztése és aMERGEnem támogatott. - A streamelési táblákban a következő parancsok nem támogatottak:
CREATE TABLE ... CLONE <streaming_table>COPY INTOANALYZE TABLERESTORETRUNCATEGENERATE MANIFEST[CREATE OR] REPLACE TABLE
- A tábla átnevezése vagy a tulajdonos megváltoztatása nem támogatott.
- A létrehozott oszlopok, identitásoszlopok és alapértelmezett oszlopok nem támogatottak.
Példák
-- Define a streaming table from a volume of files:
CREATE OR REFRESH STREAMING TABLE customers_bronze
AS SELECT * FROM STREAM read_files("/databricks-datasets/retail-org/customers/*", format => "csv")
-- Define a streaming table from a streaming source table:
CREATE OR REFRESH STREAMING TABLE customers_silver
AS SELECT * FROM STREAM(customers_bronze)
-- Define a table with a row filter and column mask:
CREATE OR REFRESH STREAMING TABLE customers_silver (
id int COMMENT 'This is the customer ID',
name string,
region string,
ssn string MASK catalog.schema.ssn_mask_fn COMMENT 'SSN masked for privacy'
)
WITH ROW FILTER catalog.schema.us_filter_fn ON (region)
AS SELECT * FROM STREAM(customers_bronze)
-- Define a streaming table that you can add flows into:
CREATE OR REFRESH STREAMING TABLE orders;