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.
W czasach danych big data architektura medalionu zyskała na znaczeniu jako niezawodną platformę do zarządzania danymi i przetwarzania ich na różnych etapach uściślenia, od danych pierwotnych do wysoce wyselekcjonowanych zestawów danych. Takie podejście ustrukturyzowane nie tylko zwiększa możliwości zarządzania danymi, ale także zapewnia utrzymanie jakości danych w całym cyklu życia danych.
Zapewnienie jakości danych jest niezbędne na każdym etapie architektury medalonu, co ma kluczowe znaczenie dla podejmowania świadomych decyzji biznesowych. Niska jakość danych może prowadzić do nieprawidłowych szczegółowych informacji i nieefektywności operacyjnej.
W tym artykule wyjaśniono, jak zaimplementować jakość danych w zmaterializowanych widokach jeziora (MLV) w usłudze Microsoft Fabric.
Implementowanie jakości danych
Podczas przekształcania danych staje się istotne tworzenie precyzyjnych zapytań w celu wykluczenia danych o niskiej jakości z tabel źródłowych, co zwiększa czas przetwarzania i czasami może prowadzić do awarii całego procesu z powodu drobnych problemów z danymi.
Jakość danych jest utrzymywana przez ustawianie ograniczeń podczas definiowania MLV. Zmaterializowane widoki w usłudze Fabric zapewniają podejście do wydajnego implementowania kontroli jakości danych.
Po określeniu ograniczeń można zaimplementować następujące akcje.
FAIL — ta akcja zatrzymuje proces odświeżania MLV, jeśli zostanie naruszone jakiekolwiek ograniczenie, zatrzymując przy pierwszym naruszeniu. Jest to zachowanie domyślne, nawet bez określania słowa kluczowego FAIL.
DROP — ta akcja przetwarza MLV i usuwa rekordy, które nie spełniają określonego warunku. Zapewnia również liczbę usuniętych rekordów w widoku pochodzenia.
Uwaga / Notatka
Jeśli zarówno akcje DROP, jak i FAIL są zdefiniowane w MLV, akcja FAIL ma pierwszeństwo.
Definiowanie kontroli jakości danych w zmaterializowanym widoku lake
W poniższym przykładzie zdefiniowano ograniczenie cust_blank, które sprawdza, czy customerName pole nie ma wartości null. Wiersze z wartością null customerName są wykluczane z przetwarzania.
CREATE MATERIALIZED LAKE VIEW IF NOT EXISTS silver.customers_enriched
(CONSTRAINT cust_blank CHECK (customerName is not null) on MISMATCH DROP)
AS
SELECT
c.customerID,
c.customerName,
c.contact,
CASE
WHEN COUNT(o.orderID) OVER (PARTITION BY c.customerID) > 0 THEN TRUE
ELSE FALSE
END AS has_orders
FROM bronze.customers c LEFT JOIN bronze.orders o
ON c.customerID = o.customerID;
Bieżące ograniczenia
- Aktualizowanie ograniczeń dotyczących jakości danych po utworzeniu MLV nie jest obsługiwane. Aby zaktualizować ograniczenia dotyczące jakości danych, należy ponownie utworzyć MLV.
- Korzystanie z funkcji i wyszukiwania wzorców z operatorami, takimi jak LIKE lub regex, jest ograniczone w warunkach ograniczeń.
Znane problemy
- Utworzenie i odświeżenie MLV z akcją FAIL w ograniczeniu może spowodować wystąpienie problemu "nie znaleziono tabeli delta". W takich przypadkach zaleca się ponowne utworzenie MLV i unikanie akcji FAIL.