Freigeben über


Datenqualität in materialisierten Seeansichten

Im Zeitalter von Big Data hat die Medallion-Architektur als robustes Framework für die Verwaltung und Verarbeitung von Daten in verschiedenen Phasen der Verfeinerung, von der Rohdatenphase bis hin zu hoch kuratierten Datensätzen, an Bedeutung erlangt. Dieser strukturierte Ansatz verbessert nicht nur die Datenverwaltung, sondern stellt auch sicher, dass die Datenqualität während des gesamten Datenlebenszyklus beibehalten wird.

Die Sicherstellung der Datenqualität ist in jeder Phase der Medallion-Architektur von entscheidender Bedeutung, um fundierte Geschäftsentscheidungen zu treffen. Schlechte Datenqualität kann zu falschen Erkenntnissen und betrieblichen Ineffizienzen führen.

In diesem Artikel wird erläutert, wie Sie die Datenqualität in materialisierten Seeansichten (MLVs) in Microsoft Fabric implementieren.

Implementieren der Datenqualität

Wenn Sie Daten transformieren, ist es wichtig, präzise Abfragen zu erstellen, um daten schlechter Qualität aus den Quelltabellen auszuschließen, wodurch die Verarbeitungszeit erhöht wird und gelegentlich die gesamte Pipeline aufgrund kleinerer Datenprobleme fehlschlägt.

Die Datenqualität wird beibehalten, indem Einschränkungen festgelegt werden, wenn sie die MLVs definieren. Die materialisierten Ansichten in Fabric bieten einen Ansatz zur effizienten Implementierung von Prüfungen für das Datenqualitätsmanagement.

Die folgenden Aktionen können implementiert werden, wenn Einschränkungen angegeben werden.

FAIL – Diese Aktion stoppt die Aktualisierung eines MLV sofort, wenn eine Einschränkung verletzt wird, und beendet den Vorgang beim ersten Auftreten der Verletzung. Es ist das Standardverhalten, auch ohne das FAIL-Schlüsselwort anzugeben.

DROP – Diese Aktion verarbeitet den MLV und entfernt Datensätze, die nicht der angegebenen Einschränkung entsprechen. Außerdem wird die Anzahl der entfernten Datensätze in der Abstammungsansicht bereitgestellt.

Hinweis

Wenn sowohl DROP- als auch FAIL-Aktionen in einer MLV definiert sind, hat die FAIL-Aktion Vorrang.

Definieren der Datenqualitätsprüfungen in einer materialisierten Seeansicht

Im folgenden Beispiel wird die Einschränkung cust_blankdefiniert, die überprüft, ob das customerName Feld nicht NULL ist. Zeilen mit null customerName werden von der Verarbeitung ausgeschlossen.

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; 

Aktuelle Einschränkungen

  • Das Aktualisieren von Datenqualitätseinschränkungen nach dem Erstellen eines MLV wird nicht unterstützt. Um die Datenqualitätseinschränkungen zu aktualisieren, müssen Sie den MLV neu erstellen.
  • Die Verwendung von Funktionen und Mustersuche mit Operatoren wie LIKE oder regex in constraint condition ist eingeschränkt.

Bekannte Probleme

  • Die Erstellung und Aktualisierung eines MLV mit einer FAIL-Aktion in einem Constraint kann zu einem Problem „Delta-Tabelle nicht gefunden“ führen. In solchen Fällen wird empfohlen, den MLV neu zu erstellen und die Verwendung der FAIL-Aktion zu vermeiden.