Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Streamovací tabulka je tabulka s podporou streamování nebo přírůstkového zpracování dat. Streamované tabulky jsou podporovány zpracovávacími linkami. Při každé aktualizaci streamované tabulky se data přidaná do zdrojových tabulek připojí ke streamované tabulce. Streamované tabulky můžete aktualizovat ručně nebo podle plánu.
Další informace o provádění nebo plánování aktualizací najdete v tématu Spuštění aktualizace pipeline.
Syntaxe
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 } } [ ... ]
Parametry
REFRESH
Pokud je tato hodnota zadaná, vytvoří tabulku nebo aktualizuje existující tabulku a její obsah.
SOUKROMÝ
Vytvoří soukromou tabulku pro streamování.
- Nejsou přidány do katalogu a jsou přístupné pouze v rámci určeného potrubí.
- Můžou mít stejný název jako existující objekt v katalogu. V rámci potrubí, pokud má privátní streamovací tabulka a objekt v katalogu stejný název, odkazy na tento název budou směřovat na privátní streamovací tabulku.
- Tabulky pro privátní streamování jsou uchovávány po celou dobu životnosti pipeline, nejen při jedné aktualizaci.
Tabulky privátního streamování byly dříve vytvořeny pomocí parametru
TEMPORARY.table_name
Název nově vytvořené tabulky. Plně kvalifikovaný název tabulky musí být jedinečný.
specifikace_tabulek
Tato volitelná klauzule definuje seznam sloupců, jejich typů, vlastností, popisů a omezení sloupců.
-
Názvy sloupců musí být jedinečné a mapované na výstupní sloupce dotazu.
-
Určuje datový typ sloupce. Streamované tabulky nepodporují všechny datové typy podporované službou Azure Databricks.
column_comment
Volitelný
STRINGliterál popisující sloupec. Tato možnost musí být zadána společně s parametremcolumn_type. Pokud typ sloupce není zadaný, komentář sloupce se přeskočí.-
Přidá omezení, které ověřuje data při jejich toku do tabulky. Viz Spravujte kvalitu dat pomocí požadavků na datový potrubí.
-
Důležité
Tato funkce je ve verzi Public Preview.
Přidá funkci masky sloupce pro anonymizaci citlivých dat.
-
omezení tabulky
Důležité
Tato funkce je ve verzi Public Preview.
Při zadávání schématu můžete definovat primární a cizí klíče. Omezení jsou informativní a nevynucují se. Viz klauzuli CONSTRAINT v referenční dokumentaci jazyka SQL.
Poznámka:
Pokud chcete definovat omezení tabulek, vaše potrubí musí být aktivováno prostřednictvím katalogu Unity.
tabulka_podmínky
Volitelně můžete zadat vlastnosti dělení, komentářů a uživatelem definovaných vlastností tabulky. Každou dílčí klauzuli lze zadat pouze jednou.
POUŽITÍ FUNKCE DELTA
Určuje formát dat. Jedinou možností je DELTA.
Tato klauzule je volitelná a výchozí hodnota je DELTA.
PARTICIONOVÁNO PODLE
Volitelný seznam jednoho nebo více sloupců, které se mají použít k dělení v tabulce. Vzájemně se vylučuje s
CLUSTER BY.Liquid clustering poskytuje flexibilní a optimalizované řešení pro shlukování. Zvažte použití
CLUSTER BYmístoPARTITIONED BYpro kanály.CLUSTER BY
Povolte tekuté shlukování v tabulce a definujte sloupce, které se mají použít jako klíče shlukování. Pomocí automatického liquid clusteringu s
CLUSTER BY AUTOa Databricks inteligentně vybírá klíče seskupování pro optimalizaci výkonu dotazů. Vzájemně se vylučuje sPARTITIONED BY.UMÍSTĚNÍ
Volitelné umístění úložiště pro data tabulky. Pokud není nastaven, systém ve výchozím nastavení použije umístění úložiště potrubí.
KOMENTÁŘ
Volitelný
STRINGliterál, který popisuje tabulku.TBLPROPERTIES
Volitelný seznam vlastností tabulky pro tabulku.
S ROW FILTER
Důležité
Tato funkce je ve verzi Public Preview.
Přidá do tabulky funkci filtru řádků. Budoucí dotazy na danou tabulku obdrží podmnožinu řádků, pro které se funkce vyhodnotí jako PRAVDA. To je užitečné pro důkladné řízení přístupu, protože umožňuje funkci zkoumat identitu a členství ve skupinách uživatele, který ji vyvolává, aby se rozhodlo, zda mají být určité řádky filtrovány.
Vizklauzule
. -
Tato klauzule naplní tabulku pomocí dat z
query. Tento dotaz musí být streamovací. Pomocí klíčového slova STREAM můžete ke čtení ze zdroje použít sémantiku streamování. Pokud čtení narazí na změnu nebo odstranění existujícího záznamu, vyvolá se chyba. Je nejbezpečnější číst ze statických nebo doplňovacích zdrojů. K ingestci dat, která mají commity změn, můžete použít Python a možnostSkipChangeCommitspro zpracování chyb.Když zadáte
queryatable_specificationdohromady, schéma tabulky zadané vtable_specificationmusí obsahovat všechny sloupce vrácenéquery, jinak se zobrazí chyba. Všechny sloupce uvedené vtable_specification, které nejsou vrácenyquery, vracejínullhodnoty při dotazu.Další informace o streamovaných datech najdete v tématu Transformace dat pomocí kanálů.
Požadovaná oprávnění
Uživatel spuštěn jako pro potrubí musí mít následující oprávnění:
-
SELECToprávnění k základním tabulkám, na které odkazuje streamující tabulka. -
USE CATALOGprivilegium v nadřazeném katalogu aUSE SCHEMAprivilegium v nadřazeném schématu. -
CREATE MATERIALIZED VIEWoprávnění ke schématu pro streamovací tabulku.
Aby uživatel mohl aktualizovat pipeline, ve které je definována tabulka streamování, potřebují:
-
USE CATALOGprivilegium v nadřazeném katalogu aUSE SCHEMAprivilegium v nadřazeném schématu. - Vlastnictví streamované tabulky nebo
REFRESHoprávnění na streamované tabulce. - Vlastník tabulky streamování musí mít
SELECToprávnění k základním tabulkám, na které odkazuje tabulka streamování.
Aby uživatel mohl dotazovat výslednou streamovací tabulku, vyžaduje:
-
USE CATALOGprivilegium v nadřazeném katalogu aUSE SCHEMAprivilegium v nadřazeném schématu. -
SELECToprávnění pro streamovací tabulku.
Omezení
- Nejnovější data můžou získat jenom vlastníci tabulek, kteří můžou aktualizovat streamované tabulky.
-
ALTER TABLEpříkazy jsou u streamovaných tabulek zakázány. Definice a vlastnosti tabulky by se měly změnit prostřednictvím příkazuCREATE OR REFRESHnebo ALTER STREAMING TABLE. - Vývoj schématu tabulky pomocí příkazů DML, jako je
INSERT INTO, aMERGEse nepodporuje. - U streamovaných tabulek se nepodporují následující příkazy:
CREATE TABLE ... CLONE <streaming_table>COPY INTOANALYZE TABLERESTORETRUNCATEGENERATE MANIFEST[CREATE OR] REPLACE TABLE
- Přejmenování tabulky nebo změna vlastníka se nepodporuje.
- Vygenerované sloupce, sloupce identit a výchozí sloupce se nepodporují.
Examples
-- 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;