Operacje odświeżania dla zmaterializowanych widoków

Zmaterializowane widoki to obiekty bazy danych zawierające wyniki zapytania SQL w co najmniej jednej tabeli podstawowej. Niektóre zmaterializowane widoki można odświeżać przyrostowo, automatycznie i przyrostowo propagować zmiany z tabel bazowych. W tym artykule opisano operacje odświeżania, które można zastosować do zmaterializowanych widoków.

Typy odświeżania

Operacje odświeżania są jednym z następujących typów:

  • Odświeżanie przyrostowe: odświeżanie przyrostowe przetwarza zmiany danych bazowych po ostatnim odświeżeniu, a następnie dołącza te dane do tabeli. W zależności od tabel podstawowych i uwzględnionych operacji tylko niektóre typy zmaterializowanych widoków mogą być odświeżane przyrostowo.
  • Pełne odświeżanie: Pełne odświeżanie obcina tabelę i ponownie przetwarza wszystkie dane dostępne w źródle przy użyciu najnowszej definicji. Nie zaleca się wykonywania pełnych odświeżeń w źródłach, które nie przechowują całej historii danych ani nie mają krótkich okresów przechowywania, takich jak Kafka, ponieważ pełne odświeżanie obcina istniejące dane. Nie można odzyskać starych danych, jeśli dane nie są już dostępne w źródle.

Jak zmaterializowane widoki są odświeżane

Zmaterializowane widoki automatycznie tworzą potoki delta Live Tables i używają ich do przetwarzania operacji odświeżania. Potoki tabel na żywo delty używają trybu wykonywania ciągłego lub wyzwalanego. Zmaterializowane widoki można aktualizować w obu trybach wykonywania. Aby uniknąć niepotrzebnego przetwarzania podczas pracy w trybie ciągłego wykonywania, potoki automatycznie monitorują zależne tabele delty i wykonują aktualizację tylko wtedy, gdy zawartość tych tabel zależnych uległa zmianie. Zobacz Co to jest potok delta live tables?.

Uwaga

Środowisko uruchomieniowe delta Live Tables nie może wykryć zmian w źródłach danych innych niż delta. Tabela jest nadal regularnie aktualizowana, ale z wyższym domyślnym interwałem wyzwalacza, aby zapobiec nadmiernej ponownej kompilacji, spowalniając wszelkie operacje przetwarzania przyrostowego wykonywane na obliczeniach.

Domyślnie operacje odświeżania są wykonywane synchronicznie. Można również ustawić operację odświeżania, która ma być wykonywana asynchronicznie. Zachowanie skojarzone z każdym podejściem jest następujące:

  • Synchroniczne: synchroniczne odświeżanie blokuje inne operacje do momentu zakończenia operacji odświeżania. Dzięki temu można sekwencjonować operacje odświeżania w narzędziu orkiestracji, takim jak przepływy pracy. Aby zorganizować zmaterializowane widoki za pomocą przepływów pracy, użyj typu zadania SQL . Zobacz Wprowadzenie do przepływów pracy usługi Azure Databricks.
  • Asynchroniczne: odświeżanie asynchroniczne uruchamia zadanie w tle w tabelach delta Live Tables obliczane po rozpoczęciu zmaterializowanego odświeżania widoku, a polecenie zwraca wartość przed zakończeniem ładowania danych. Ponieważ potok delta live tables zarządza odświeżaniem, nie jest używany magazyn SQL Warehouse usługi Databricks używany do tworzenia zmaterializowanego widoku. Nie trzeba jej uruchamiać podczas operacji odświeżania.

Obsługa zmaterializowanego odświeżania przyrostowego widoku

W poniższej tabeli wymieniono obsługę odświeżania przyrostowego według słowa kluczowego LUB klauzuli SQL:

Słowo kluczowe lub klauzula SQL Obsługa odświeżania przyrostowego
SELECT Wyrażenia Obsługiwane są wyrażenia obejmujące wbudowane funkcje deterministyczne i niezmienne funkcje zdefiniowane przez użytkownika (UDF).
WITH Tak, obsługiwane są typowe wyrażenia tabeli.
FROM Obsługiwane tabele podstawowe obejmują tabele delty, zmaterializowane widoki i tabele przesyłania strumieniowego
EXPECTATIONS L.p. Zmaterializowane widoki, które korzystają z oczekiwań, są zawsze w pełni odświeżane.
UNION ALL Nie
INNER JOIN Nie.
LEFT JOIN Nie.
GROUP BY Tak
WHERE, HAVING Klauzule filtru, takie jak WHERE i HAVING , są obsługiwane.
OVER Nie
QUALIFY Nr

Uwaga

Funkcje niedeterministyczne, na przykład , CURRENT_TIMESTAMPnie są obsługiwane.