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.
Platí pro:
Databricks SQL
Aktualizujte data pro streamovanou tabulku nebo materializované zobrazení. Data se ve výchozím nastavení aktualizují synchronně.
Stav aktualizace můžete sledovat spuštěním DESCRIBE EXTENDEDpříkazu .
Poznámka:
Operace vytváření a aktualizace v materializovaných zobrazeních a streamovaných tabulkách využívají bezserverové kanály Lakeflow. Průzkumníka katalogu můžete použít k zobrazení podrobností o záložních kanálech v uživatelském rozhraní. Podívejte se na Co je to Průzkumník katalogu?.
Poznámka:
REFRESH MATERIALIZED VIEW platí také pro materializovaná zobrazení metrik. Slouží k ruční aktualizaci materializací, které vrací zobrazení metriky. Viz Materializace zobrazení metrik.
Syntaxe
REFRESH { MATERIALIZED VIEW | [ STREAMING ] TABLE } table_name
[ FULL ] [ WHERE predicate ] [ SYNC | ASYNC ]
Můžete zadat libovolnou FULLpodmnožinu , WHEREa SYNC nebo ASYNC ve stejném příkazu.
Parametry
-
Identifikuje materializované zobrazení nebo tabulku streamování, která se má aktualizovat. Název nesmí obsahovat dočasnou specifikaci ani specifikaci možností. Pokud objekt nejde najít, Azure Databricks vyvolá TABLE_OR_VIEW_NOT_FOUND chybu.
PLNÝ
Zda se má provést úplná aktualizace.
- V případě materializovaných zobrazení zpracovává úplná aktualizace všechna data dostupná ve zdroji.
- U streamovacích tabulek zkrátí úplná aktualizace tabulku a zpracuje všechna data dostupná ve zdroji podle nejnovější definice streamovací tabulky.
Nedoporučuje se volat úplné aktualizace zdrojů, které nezachovají celou historii dat nebo mají krátké doby uchovávání, například Kafka, protože úplná aktualizace zkracuje stávající data. Pokud už data nejsou ve zdroji dostupná, možná nebudete moct obnovit stará data.
WHERE predikát
Platí pro:
tabulka streamování ano vytvořená pomocí FLOW REPLACE WHEREklauzulePřepíše predikát toku
REPLACE WHEREpro tuto jedinou aktualizaci. Aktualizace odstraní pouze řádky odpovídajícípredicatecíli a znovu je zkompiluje ze zdroje. Definovaný predikát toku se nezmění a použije se znovu při příští aktualizaci, takže přepsání predikátu je jednorázová operace, která neupravuje definici tabulky. Používejte ho pro jednorázové obnovení nebo opravy. Viz toky REPLACE WHERE pro samostatné streamovací tabulky.Klauzule
WHEREje podporována pouze v tabulce streamování, jejíž tok byl vytvořen sFLOW REPLACE WHERE. Když zadáteWHEREjakoukoli jinou streamovací tabulku nebo v materializovaném zobrazení, vrátí se chyba.SYNC
Určuje, jestli se má provést synchronní aktualizace. Příkaz blokuje, dokud se nevytvoří materializované zobrazení nebo tabulka streamování a počáteční načtení dat nedokončí.
Toto je výchozí chování.
ASYNCHRONNÍ
Určuje, jestli se má provést asynchronní aktualizace, která spustí úlohu na pozadí v kanálech Lakeflow. Příkaz se vrátí ihned před dokončením načítání dat a poskytne odkaz na pipeline, která podporuje materializované zobrazení nebo streamovací tabulku. Stav aktualizace můžete zobrazit na tomto odkazu.
Je nutné zadat
ASYNC, zda chcete provádět asynchronní aktualizace. Operace se provádí synchronně, pokud není zadáno žádné klíčové slovo.
Příklady
-- Refreshes the materialized view to reflect the latest available data
> REFRESH MATERIALIZED VIEW catalog.schema.view_name;
-- Refreshes the streaming table to process the latest available data
-- The current catalog and schema will be used to qualify the table
> REFRESH STREAMING TABLE st_name;
-- Truncates the table and processes all data from scratch for the streaming table
> REFRESH STREAMING TABLE cat.db.st_name FULL;
-- Overrides the REPLACE WHERE predicate for a single asynchronous refresh.
-- Only rows matching id = 3 are recomputed. The flow's static predicate is unchanged.
> REFRESH STREAMING TABLE rep_st WHERE id = 3 ASYNC;