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 következőkre vonatkozik:
Databricks SQL
Streamelési táblázat vagy materializált nézet adatainak frissítése. Az adatok alapértelmezés szerint szinkron módon frissülnek.
A frissítés állapotát a DESCRIBE EXTENDEDvégrehajtásával követheti nyomon.
Feljegyzés
A materializált nézeteken és streamelési táblákon végzett létrehozási és frissítési műveleteket kiszolgáló nélküli Lakeflow-folyamatok hajtják végre. A Katalóguskezelővel megtekintheti a felhasználói felületen található háttérfolyamatok részleteit. Lásd: Mi az a Katalóguskezelő?.
Feljegyzés
REFRESH MATERIALIZED VIEW a materializált metrikanézetekre is vonatkozik. Ezzel manuálisan frissítheti a metrikanézetet visszatűnő materializációkat. A metrikák nézeteit a Materialization (Anyagosítás) című témakörben tekinti meg.
Szintaxis
REFRESH { MATERIALIZED VIEW | [ STREAMING ] TABLE } table_name
[ FULL ] [ WHERE predicate ] [ SYNC | ASYNC ]
A parancs FULLbármely részhalmazát WHEREmegadhatja, és SYNCASYNC ugyanabban a parancsban is megadható.
Paraméterek
-
Azonosítja a frissítendő materializált nézetet vagy streamelési táblát. A név nem tartalmazhat időbeli specifikációt vagy beállításspecifikációt. Ha az objektum nem található, az Azure Databricks TABLE_OR_VIEW_NOT_FOUND hibát okoz.
TELE
Teljes frissítést elvégezzen-e.
- A materializált nézetek esetében a teljes frissítés feldolgozza a forrásban elérhető összes adatot.
- Streamelési táblák esetén a teljes frissítés csonkolja a táblát, és a streamelési tábla legújabb definíciójával feldolgozza a forrásban elérhető összes adatot.
Nem ajánlott teljes frissítéseket meghívni olyan forrásokra, amelyek nem őrzik meg az adatok teljes előzményeit, vagy rövid megőrzési időszakuk van (például Kafka), mivel a teljes frissítés csonkolja a meglévő adatokat. Előfordulhat, hogy nem tudja helyreállítani a régi adatokat, ha az adatok már nem érhetők el a forrásban.
WHERE állítmány
Érvényes:
záradékkal FLOW REPLACE WHERElétrehozott igen streamelési táblázatotFelülbírálja a folyamat predikátumát
REPLACE WHEREehhez az egyetlen frissítéshez. A frissítés csak a célnak megfelelőpredicatesorokat törli, és újrafordítja őket a forrásból. A folyamat definiált predikátuma nem változik, és a következő frissítéskor újra alkalmazza, így a predikátum felülbírálása egyszeri művelet, amely nem módosítja a tábladefiníciót. Használja egyszeri visszatöltésekhez vagy javításokhoz. Az önálló streamelési táblák cserefolyamatait WHEREitt tekintheti meg.A
WHEREzáradék csak olyan streamelési táblán támogatott, amelynek a folyamata a következővelFLOW REPLACE WHERElett létrehozva: .WHEREHa bármely más streamelési táblában vagy materializált nézetben adja meg, hibát ad vissza.SYNC
Szinkron frissítés végrehajtása. A parancs vár, míg létrejön a materializált nézet vagy streamelési tábla, és a kezdeti adatbetöltés befejeződik.
Ez az alapértelmezett viselkedés.
ASZINKRON
Az aszinkron frissítés végrehajtása, amely elindít egy háttérfeladatot a Lakeflow-folyamatokon. A parancs azonnal visszatér, még az adatbetöltés befejezése előtt, egy hivatkozással, amely a materializált nézetet vagy streamelési táblát támogató folyamatra mutat. A hivatkozásra kattintva megtekintheti a frissítés állapotát.
Meg kell adnia
ASYNC, hogy aszinkron frissítéseket szeretne-e végrehajtani. A művelet szinkron módon történik, ha nincs megadva kulcsszó.
Példák
-- 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;