Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:
Databricks SQL
Odśwież dane w tabeli strumieniowej lub widoku materializowanego. Dane są domyślnie odświeżane synchronicznie.
Stan odświeżania można śledzić, wykonując polecenie DESCRIBE EXTENDED.
Uwaga
Operacje tworzenia i odświeżania w zmaterializowanych widokach i tabelach przesyłania strumieniowego są obsługiwane przez bezserwerowe potoki lakeflow. Eksplorator wykazu umożliwia wyświetlanie szczegółowych informacji o potokach tworzenia kopii zapasowych w interfejsie użytkownika. Zobacz Co to jest Eksplorator wykazu?.
Uwaga
REFRESH MATERIALIZED VIEW dotyczy również zmaterializowanych widoków metryk. Użyj go, aby ręcznie odświeżyć materializacje, które są kopią zapasową widoku metryki. Zobacz Materialization for metric views (Materializacja widoków metryk).
Składnia
REFRESH { MATERIALIZED VIEW | [ STREAMING ] TABLE } table_name
[ FULL ] [ WHERE predicate ] [ SYNC | ASYNC ]
W tym samym poleceniu można określić dowolny podzbiór FULLwartości , WHEREi SYNC lub ASYNC .
Parametry
-
Identyfikuje zmaterializowany widok lub tabelę przesyłania strumieniowego do odświeżenia. Nazwa nie może zawierać specyfikacji czasowej ani specyfikacji opcji. Jeśli nie można odnaleźć obiektu usługi Azure Databricks, wystąpi błąd TABLE_OR_VIEW_NOT_FOUND .
PEŁNY
Czy wykonać pełne odświeżanie.
- W przypadku zmaterializowanych widoków pełne odświeżanie przetwarza wszystkie dane dostępne w źródle.
- W przypadku tabel przesyłania strumieniowego pełne odświeżanie obcina tabelę i przetwarza wszystkie dane dostępne w źródle przy użyciu najnowszej definicji tabeli przesyłania strumieniowego.
Nie zaleca się wywoływania pełnych odświeżeń w źródłach, które nie przechowują całej historii danych lub mają krótkie okresy przechowywania, takie jak Kafka, ponieważ pełne odświeżanie obcina istniejące dane. Odzyskanie starych danych może nie być możliwe, jeśli dane nie są już dostępne w źródle.
WHERE predykat
Dotyczy:
tabeli przesyłania strumieniowego utworzonej za pomocą klauzuli FLOW REPLACE WHEREZastępuje predykat przepływu
REPLACE WHEREdla tego pojedynczego odświeżania. Odświeżanie usuwa tylko wiersze pasującepredicatez obiektu docelowego i ponownie je skompiluje ze źródła. Zdefiniowany predykat przepływu pozostaje niezmieniony i jest stosowany ponownie podczas następnego odświeżania, dlatego zastąpienie predykatu jest jednorazową operacją, która nie modyfikuje definicji tabeli. Użyj go na potrzeby jednorazowych uzupełnień lub poprawek. Zobacz Zastępowanie WHERE przepływów dla autonomicznych tabel przesyłania strumieniowego.Klauzula jest obsługiwana
WHEREtylko w tabeli przesyłania strumieniowego, której przepływ został utworzony za pomocąFLOW REPLACE WHEREpolecenia . OkreślenieWHEREdowolnej innej tabeli przesyłania strumieniowego lub w zmaterializowanym widoku zwraca błąd.SYNC
Czy przeprowadzić synchroniczne odświeżanie. Polecenie jest zablokowane do momentu utworzenia zmaterializowanego widoku lub tabeli strumieniowej i zakończenia początkowego ładowania danych.
To jest zachowanie domyślne.
ASYNC
Czy przeprowadzić odświeżanie asynchroniczne, które uruchamia zadanie w tle w potokach lakeflow. Polecenie zwraca natychmiast przed zakończeniem ładowania danych, dostarczając link do potoku obsługującego zmaterializowany widok lub tabelę przesyłania strumieniowego. Możesz odwiedzić link, aby wyświetlić stan odświeżania.
Należy określić
ASYNC, czy chcesz wykonywać operacje odświeżania asynchronicznego. Operacja jest wykonywana synchronicznie, jeśli nie określono słowa kluczowego.
Przykłady
-- 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;