Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Ta funkcja jest dostępna w wersji beta. Administratorzy obszaru roboczego mogą kontrolować dostęp do tej funkcji ze strony Podglądy . Zobacz Zarządzanie wersjami zapoznawczami usługi Azure Databricks.
Dodaje zasady odświeżania do zmaterializowanego widoku, kontrolując, kiedy zwiększać odświeżanie. Dotyczy instrukcji CREATE MATERIALIZED VIEW (pipelines).
Aby dowiedzieć się więcej na temat przyrostowego odświeżania, zobacz Odświeżanie przyrostowe dla zmaterializowanych widoków. Możesz sprawdzić, czy zapytanie SQL jest przyrostowe, za pomocą EXPLAIN CREATE MATERIALIZED VIEW instrukcji w usłudze Databricks SQL. Zobacz: EXPLAIN CREATE MATERIALIZED VIEW.
Składnia
REFRESH POLICY refresh_policy
refresh_policy:
AUTO | INCREMENTAL | INCREMENTAL STRICT | FULL
Parametry
refresh_policy
Definiuje zasady odświeżania dla zmaterializowanego widoku.
REFRESH POLICYJeśli parametr zostanie pominięty,AUTOto zasady domyślne.Zasady odświeżania określają sposób obsługi odświeżania przyrostowego zmaterializowanego widoku.
AUTOSystem automatycznie wybiera odświeżanie przyrostowe lub pełne na podstawie modelu kosztów.
State Zachowanie Odświeżanie przyrostowe jest dostępne. Używa modelu kosztów, aby określić, który jest tańszy, przyrostowy lub pełny. Odświeżanie przyrostowe nie jest dostępne. Wykonuje pełne odświeżanie. Tworzenie lub ponowne inicjowanie jest wymagane (na przykład w przypadku zmiany schematu) Wykonuje pełne odświeżanie. INCREMENTALSystem używa odświeżania przyrostowego, jeśli jest to możliwe. W systemie
CREATE, jeśli nie można zwiększać zapytania, instrukcja create kończy się niepowodzeniem.State Zachowanie Odświeżanie przyrostowe jest dostępne. Wykonuje odświeżanie przyrostowe. Odświeżanie przyrostowe nie jest dostępne. Wykonuje pełne odświeżanie. Tworzenie lub ponowne inicjowanie jest wymagane, ale dla zapytania jest możliwe przyrostowe. Wykonuje pełne odświeżanie. Tworzenie lub ponowne inicjowanie jest wymagane, a przyrostowa nie jest możliwa dla zapytania. Operacja kończy się niepowodzeniem. INCREMENTAL STRICTSystem używa odświeżania przyrostowego. W systemie
CREATE, jeśli nie można zwiększać zapytania, instrukcja create kończy się niepowodzeniem.State Zachowanie Odświeżanie przyrostowe jest dostępne. Wykonuje odświeżanie przyrostowe. Odświeżanie przyrostowe nie jest dostępne. Odświeżanie kończy się niepowodzeniem. Tworzenie lub ponowne inicjowanie jest wymagane, ale dla zapytania jest możliwe przyrostowe. Wykonuje pełne odświeżanie. Tworzenie lub ponowne inicjowanie jest wymagane, a przyrostowa nie jest możliwa dla zapytania. Operacja kończy się niepowodzeniem. FULLSystem zawsze używa pełnego odświeżania.
State Zachowanie Odświeżanie przyrostowe jest dostępne. Wykonuje pełne odświeżanie. Odświeżanie przyrostowe nie jest dostępne. Wykonuje pełne odświeżanie. Wymagane jest utworzenie lub ponowne zainicjowanie. Wykonuje pełne odświeżanie.
Zachowanie w przypadku awarii
Gdy odświeżanie kończy się niepowodzeniem, ponieważ nie może spełniać zasad odświeżania (dla REFRESH POLICY INCREMENTAL (STRICT)), system zwraca klasę MATERIALIZED_VIEW_NOT_INCREMENTALIZABLE błędów ze szczegółowymi informacjami opisujący przyczynę braku możliwości przyrostowego:
-
AGGREGATE_NOT_TOP_NODE:GROUP BYz wyrażeniami złożonymi powyżej nie jest obsługiwany. -
EXPRESSION_NOT_DETERMINSTIC: Funkcja niedeterministyczna, na przykładRAND, jest używana w zapytaniu. -
INPUT_NOT_IN_DELTA: Co najmniej jeden źródłowy zestaw danych nie jest tabelami różnicowymi. -
OPERATOR_NOT_INCREMENTALIZABLE: Operator, taki jak złożone sprzężenie, uniemożliwia przyrostowe tworzenie. -
ROW_TRACKING_NOT_ENABLED: Tabele źródłowe wymagające śledzenia wierszy nie mają włączonego śledzenia wierszy. -
SUBQUERY_EXPRESSION_NOT_INCREMENTALIZABLE: Co najmniej jedno podzapytywanie w zapytaniu nie jest zwiększalne. -
UDF_NOT_DETERMINISTIC: co najmniej jeden uDF używany w wyrażeniu nie jest oznaczony jako deterministyczny. -
WINDOW_WITHOUT_PARTITION_BY: specyfikacje okien bezPARTITION_BYnie są przyrostowe.
Aby zrozumieć, co sprawia, że zapytanie jest przyrostowe, zobacz Odświeżanie przyrostowe dla zmaterializowanych widoków.
Aby sprawdzić, czy zapytanie SQL jest przyrostowe, użyj EXPLAIN CREATE MATERIALIZED VIEW instrukcji w usłudze Databricks SQL. Zobacz: EXPLAIN CREATE MATERIALIZED VIEW.
Przykłady
-- Create a materialized view with an incremental policy
CREATE OR REFRESH MATERIALIZED VIEW my_mv
REFRESH POLICY INCREMENTAL
AS SELECT a, sum(b) FROM my_catalog.example.my_table GROUP BY a;