Udostępnij przez


Co to są materializowane widoki jeziora w usłudze Microsoft Fabric?

Uwaga / Notatka

Ta funkcja jest obecnie dostępna w wersji zapoznawczej.

Zmaterializowane widoki jeziora to wstępnie obliczone, przechowywane wyniki zapytań SQL, które mogą być odświeżane na żądanie lub zgodnie z harmonogramem. Pomyśl o nich jako o "inteligentnych tabelach", które zawierają wyniki złożonych przekształceń, agregacji lub sprzężeń — dzięki inteligentnym strategiom odświeżania, aby zachować aktualność danych.

Dlaczego warto używać zmaterializowanych widoków jeziora?

Zmaterializowane widoki na data lake rozwiązują typowe wyzwania związane z inżynierią danych.

  • Wydajność: Zamiast wielokrotnie uruchamiać kosztowne zapytania, wyniki są wstępnie skompilowane i przechowywane
  • Spójność: wszyscy uzyskują dostęp do tych samych przekształconych danych, co zmniejsza rozbieżności
  • Wydajność: Odświeżaj tylko wtedy, gdy dane źródłowe faktycznie się zmieniają, oszczędzając zasoby obliczeniowe.
  • Prostota: Definiowanie przekształceń raz przy użyciu znanej składni SQL

Kiedy należy używać zmaterializowanych widoków jeziora?

Rozważ zmaterializowane widoki jeziora, gdy masz:

  • Często używane agregacje (dzienne sumy sprzedaży, miesięczne metryki)
  • Złożone sprzężenia w wielu dużych tabelach, do których często są wykonywane zapytania
  • Przekształcenia jakości danych , które muszą być stosowane spójnie
  • Raportowanie zestawów danych łączących dane z wielu źródeł
  • Architektura medalionu , w której potrzebne są brązowe → srebrne → złote przekształcenia

Nie używaj ich do:

  • Jednorazowy lub rzadko używany dostęp do zapytań
  • Proste przekształcenia, które działają szybko
  • Dane przesyłane strumieniowo o wysokiej częstotliwości (należy rozważyć inteligentną analizę w czasie rzeczywistym dla aktualizacji poniżej sekundy)

Jak działają zmaterializowane widoki jeziora?

Zmaterializowane widoki jeziorne używają podejścia deklaratywnego — definiujesz, co chcesz, a nie JAK to zbudować.

  1. Tworzenie: Pisanie kodu SQL definiującego transformację
  2. Odświeżanie: Architektura fabric określa optymalną strategię odświeżania (przyrostowe, pełne lub pominięcie)
  3. Zapytanie: Aplikacje wysyłają zapytania dotyczące zmaterializowanego widoku, takiego jak dowolna tabela
  4. Monitor: Śledź jakość danych, pochodzenie i stan odświeżania

Kluczowe możliwości

Optymalizacja automatycznego odświeżania

Platforma automatycznie określa, kiedy i jak odświeżać Twoje widoki.

  • Odświeżanie przyrostowe: tylko przetwarza nowe lub zmienione dane
  • Pełne odświeżanie: ponownie kompiluje cały widok w razie potrzeby
  • Pomiń odświeżanie: nie trzeba odświeżać, gdy dane źródłowe nie uległy zmianie

Wbudowana jakość danych

Zdefiniuj reguły bezpośrednio w usłudze SQL i określ sposób obsługi naruszeń:

CONSTRAINT valid_sales CHECK (sales_amount > 0) ON MISMATCH DROP

Zarządzanie zależnościami

  • Zobrazuj, jak widoki są ze sobą powiązane
  • Automatyczne kolejkowanie odświeżania na podstawie zależności
  • Przetwarzanie jest zgodne z łańcuchem zależności, aby zapewnić spójność danych

Monitorowanie i szczegółowe informacje

  • Śledzenie wydajności odświeżania i stanu wykonywania
  • Wyświetl metryki jakości danych i liczby naruszeń w linii
  • Monitorowanie wystąpień zadań i historia odświeżania

Typowe przypadki użycia

Panel raportowania sprzedaży

-- Daily sales summary that refreshes automatically
CREATE MATERIALIZED LAKE VIEW daily_sales AS
SELECT 
    DATE(order_date) as sale_date,
    region,
    SUM(amount) as total_sales,
    COUNT(*) as order_count
FROM orders 
GROUP BY DATE(order_date), region;

Walidacja jakości danych

-- Clean customer data with quality rules
CREATE MATERIALIZED LAKE VIEW clean_customers (
    CONSTRAINT valid_email CHECK (email IS NOT NULL) ON MISMATCH DROP
) AS
SELECT 
    customer_id,
    TRIM(customer_name) as customer_name,
    LOWER(email) as email
FROM raw_customers
WHERE customer_name IS NOT NULL;

Architektura medalionu

-- Bronze → Silver transformation
CREATE MATERIALIZED LAKE VIEW silver_products AS
SELECT 
    product_id,
    product_name,
    category,
    CAST(price as DECIMAL(10,2)) as price
FROM bronze_products
WHERE price > 0;

Uwaga / Notatka

Ta funkcja jest obecnie niedostępna w regionie Południowo-Środkowych Stanów Zjednoczonych.

Bieżące ograniczenia

Następujące funkcje nie są obecnie dostępne w przypadku zmaterializowanych widoków typu lake w usłudze Microsoft Fabric:

  • Obsługa składni deklaratywnej dla programu PySpark. Składnia spark SQL umożliwia tworzenie i odświeżanie zmaterializowanych widoków lake.
  • Funkcje pochodzenia i wykonywania cross-lakehouse.