Automatische Datenqualität – Übersicht

In diesem Dokument wird die automatische Datenqualität von Dataplex beschrieben, mit der Sie die Qualität Ihrer Daten definieren und messen können. Sie können das Scannen von Daten automatisieren, Daten anhand von definierten Regeln validieren und Benachrichtigungen protokollieren, wenn Ihre Daten den Qualitätsanforderungen nicht entsprechen. Sie können Regeln für die Datenqualität und Bereitstellungen als Code verwalten, um die Integrität der Produktionspipelines zu verbessern.

Um loszulegen, verwenden Sie die Empfehlungen für Dataplex-Datenprofilerstellung oder erstellen Sie benutzerdefinierte Regeln in der Google Cloud Console. Dataplex bietet Monitoring-, Fehlerbehebungs- und Cloud Logging-Benachrichtigungen, die in die automatische Datenqualität von Dataplex eingebunden sind.

Konzeptmodell

Bei einem Datenqualitätsscan werden Qualitätsregeln auf Tabellendaten angewendet, um Ergebnisse zu erfassen.

Ein Datenscan ist ein Dataplex-Job, der Daten aus BigQuery und Cloud Storage abtastiert und verschiedene Arten von Metadaten leitet. Zum Messen der Qualität einer Tabelle mithilfe der automatischen Datenqualität erstellen Sie ein DataScan-Objekt vom Typ data quality. Der Scan wird nur für eine BigQuery-Tabelle ausgeführt. Der Scan verwendet Ressourcen in einem Mandantenprojekt von Google, sodass Sie keine eigene Infrastruktur einrichten müssen.

Der Datenqualitätsscan umfasst die folgenden Schritte:

  1. Regeldefinition
  2. Regelausführung
  3. Monitoring und Benachrichtigungen
  4. Fehlerbehebung

Regeldefinition

Mit einem Datenqualitätsscan verknüpfte Datenqualitätsregeln definieren Datenerwartungen. Regeln für die Datenqualität lassen sich auf folgende Arten erstellen:

Vordefinierte Regeln

Dataplex unterstützt zwei Kategorien vordefinierter Regeln: Zeilenebene oder aggregierte Regeln.

Zeilenebene

Bei Kategorieregeln auf Zeilenebene wird auf die einzelnen Datenzeilen die Erwartung angewendet. Jede Zeile erfüllt die Bedingung nicht oder erfüllt sie nicht. Beispiel: column_A_value < 1.

Für Prüfungen auf Zeilenebene müssen Sie einen Grenzwert zum Bestehen angeben. Wenn der Prozentsatz der Zeilen, die die Regel übergeben, unter den Grenzwert fällt, schlägt die Regel fehl.

Aggregat

Bei aggregierten Regeln wird die Erwartung auf einen einzelnen Wert angewendet, der für die gesamten Daten aggregiert wird. Beispiel: Avg(someCol) >= 10 Zum Bestehen muss die Prüfung den booleschen Wert true ergeben. Zusammengefasste Regeln stellen keine unabhängige Anzahl von Einheiten oder Fehlern für jede Zeile bereit.

Für beide Regelkategorien können Sie folgende Parameter festlegen:

  • Die Spalte, auf die die Regel angewendet wird.
  • Eine Dimension aus einer Reihe vordefinierter Dimensionen.

In der folgenden Tabelle sind die unterstützten Regeltypen auf Zeilenebene und Aggregation aufgeführt:

Regeltyp
(Name in der Google Cloud Console)
Regel auf Zeilen- oder Aggregationsebene Beschreibung Unterstützte Spaltentypen Regelspezifische Parameter
RangeExpectation
(Bereichsprüfung)
Zeilenebene Prüfen Sie, ob der Wert zwischen Min. und Max liegt. Alle Spalten für numerische Werte, Datums- und Zeitstempeltypen. Erforderlich:
  • Passing threshold percentage
  • Werte für mean, min oder max: Geben Sie mindestens einen Wert an.


Optional:
  • strict min aktivieren: Wenn diese Option aktiviert ist, verwendet die Regelprüfung „>“ anstelle von „>=“.
  • strict max aktivieren: Wenn diese Option aktiviert ist, verwendet die Regelprüfung „<“ statt „<=“.
  • ignore null aktivieren: Wenn diese Option aktiviert ist, werden Nullwerte bei der Regelprüfung ignoriert.
NonNullExpectation
(Nullprüfung)
Zeilenebene Überprüfen Sie, ob die Spaltenwerte nicht NULL sind. Alle unterstützten Spaltentypen. Erforderlich:
Prozentsatz zum Bestehen erforderlich.
SetExpectation
(Prüfung festlegen)
Zeilenebene Überprüfen Sie, ob die Werte in einer Spalte einer der angegebenen Werte in einer Gruppe sind. Alle unterstützten Spaltentypen außer Record und Struct Erforderlich:
  • Satz von Stringwerten, die überprüft werden sollen.
  • Schwellenwert (%) überschritten.



Optional:
  • ignore null aktivieren: Wenn diese Option aktiviert ist, werden Nullwerte bei der Regelprüfung ignoriert.
  • invert-Bedingung aktivieren: Wenn diese Option aktiviert ist, prüft die Regel, ob die Werte nicht aus dem Satz stammen.
RegexExpectation
(Regex-Prüfung)
Zeilenebene Überprüfen Sie die Werte noch einmal mit einem angegebenen regulären Ausdruck. String Erforderlich:
  • Zur Prüfung verwendetes Regex-Muster.
  • Schwellenwert (%) überschritten.
  • Hinweis: Google-Standard-SQL bietet Unterstützung für reguläre Ausdrücke mithilfe der re2-Bibliothek. Informationen zur Syntax regulärer Ausdrücke finden Sie in der jeweiligen Dokumentation.
Uniqueness
(Eindeutigkeitsprüfung)
Aggregat Prüfen Sie, ob alle Werte in einer Spalte eindeutig sind. Alle unterstützten Spaltentypen außer Record und Struct Erforderlich:
Spalte und Dimension aus den unterstützten Parametern.
StatisticRangeExpectation
(Statistische Prüfung)
Aggregat Überprüfen Sie, ob die gegebene statistische Maßnahme den erwarteten Erwartungen entspricht. Alle unterstützten numerischen Spaltentypen. Erforderlich:
mean, min oder max-Werte: Geben Sie mindestens einen Wert an.

Optional:
  • strict min aktivieren: Wenn diese Option aktiviert ist, verwendet die Regelprüfung „>“ anstelle von „>=“.
  • strict max aktivieren: Wenn diese Option aktiviert ist, verwendet die Regelprüfung „<“ statt „<=“.
  • ignore null aktivieren: Wenn diese Option aktiviert ist, werden Nullwerte bei der Regelprüfung ignoriert.

Unterstützte benutzerdefinierte SQL-Regeltypen

SQL-Regeln bieten Flexibilität, um die Validierung mit benutzerdefinierter Logik zu erweitern. Es gibt zwei Arten von Regeln.

Regeltyp Regel auf Zeilen- oder Aggregationsebene Beschreibung Unterstützte Spaltentypen Regelspezifische Parameter Beispiel
Zeilenbedingung Zeilenebene Sie können eine Erwartung aus jeder Zeile angeben, indem Sie einen SQL-Ausdruck in einer where-Klausel definieren. Der SQL-Ausdruck sollte pro Zeile true (passen) oder false (fehlführend) ergeben.
Dataplex berechnet den Prozentsatz der Zeilen, die diese Erwartungen erfüllen, und vergleicht sie mit dem Prozentsatz des übergebenen Schwellenwerts, um den Erfolg oder Fehlschlag der Regel zu ermitteln.
Das kann einen Verweis auf eine andere Tabelle enthalten, z. B. um Referenzreferenz-Integritätsprüfungen zu erstellen.
Alle Spalten Erforderlich:
  • Zu verwendende SQL-Bedingung
  • Schwellenwert (%) überschritten
  • Dimension

Optional: Spalte, mit der diese Regel verknüpft werden soll.
grossWeight <= netWeight
Aggregierter SQL-Ausdruck Aggregat Diese Regeln werden einmal pro Tabelle ausgeführt. Geben Sie einen SQL-Ausdruck an, der als boolescher Wert „true“ (Pass) oder „false“ (fehlgeschlagen) ausgewertet wird.
Der SQL-Ausdruck kann einen Verweis auf eine andere Tabelle in Form von Ausdruck-Unterabfragen enthalten.
Alle Spalten Erforderlich
SQL-Bedingung für Verwendung
Dimension
Optional
Spalte, mit der diese Regel verknüpft wird
Einfaches Beispiel für aggregierte Daten
avg(price) > 100

Mit einer Ausdruck-Unterabfrage, um Werte über eine andere Tabelle hinweg zu vergleichen
(SELECT COUNT(*) FROM `example_project.example_dataset.different-table`) < COUNT(*)

Beispielregeln finden Sie unter Beispielregeln für die automatische Datenqualität.

Dimensionen

Mithilfe von Dimensionen können Sie die Ergebnisse mehrerer Datenqualitätsregeln für Monitoring und Benachrichtigungen aggregieren. Sie müssen jede Datenqualitätsregel einer Dimension zuordnen. Dataplex unterstützt die folgenden Dimensionen:

  • Aktualität
  • Volumen
  • Vollständigkeit
  • Gültigkeit
  • Konsistenz
  • Genauigkeit
  • Eindeutigkeit

Eingabe in Regeln

Alle Wertparameter werden als Stringwerte an die API übergeben. Dataplex muss für Eingaben das BigQuery-Format verwenden.

Binärtyp-Parameter können als base64-codierter String übergeben werden.

Typ Unterstützte Formate Beispiele
Binär Base64-codierter Wert YXBwbGU=
Zeitstempel JJJJ-[M]M-[D]T[( |T)[H]H:[M]M:[S]S[.F]] [Zeitzone]
ODER JJJJ-[M]M-[D]D[( |T)[H]H:[M]M:[S]S[.F]][time_zone_offset]
2014-09-27 12:30:00.45-08
Datum JJJJ-M[M]-T[D] 2014-09-27
Uhrzeit [H]H:[M]M:[S]S[TTTTTT] 12:30:00,45
DateTime JJJJ-[M]M-[D]T [[H]H:[M]M:[S]S[.DDDDDD]] 2014-09-27 12:30:00.45

Regelausführung

Sie können das Ausführen von Datenqualitätsscans in einem bestimmten Intervall planen oder einen Scan nach Bedarf ausführen. Zum Verwalten von Datenqualitätsscans können Sie die API oder die Google Cloud Console verwenden.

Wenn Sie einen Datenqualitätsscan ausführen, erstellt Dataplex einen Job. Im Rahmen der Spezifikation eines Datenqualitätsscans können Sie den Umfang eines Jobs auf eine der folgenden Arten festlegen:

Vollständige Tabelle
Jeder Job validiert die gesamte Tabelle.
Inkrementell
Jeder Job validiert inkrementelle Daten. Geben Sie zur Bestimmung von Schritten eine Spalte vom Typ Date / Timestamp in der Tabelle an, die als Markierung verwendet werden kann. In der Regel ist dies die Spalte, die die Tabelle partitioniert ist.

Daten filtern

Dataplex kann Daten mithilfe eines Zeilenfilters auf Datenqualität prüfen. Wenn Sie einen Zeilenfilter erstellen, können Sie sich auf Daten innerhalb eines bestimmten Zeitraums oder eines bestimmten Segments, z. B. einer bestimmten Region, konzentrieren. Mit Filtern können Sie die Ausführungszeit und die Kosten reduzieren, z. B. Daten mit einem Zeitstempel vor einem bestimmten Datum herausfiltern.

Beispieldaten

Mit Dataplex können Sie einen Prozentsatz der Datensätze aus Ihren Daten angeben, die als Stichproben für einen Datenqualitätsscan verwendet werden sollen. Wenn Sie Datenqualitätsscans für eine kleinere Stichprobe von Daten ausführen, können Sie die Ausführungszeit und die Kosten für die Abfrage des gesamten Datasets reduzieren.

Monitoring und Benachrichtigungen

Sie können die Scanergebnisse zur weiteren Analyse in eine BigQuery-Tabelle exportieren. Zum Anpassen von Berichten können Sie die BigQuery-Tabellendaten mit einem Looker-Dashboard verbinden. Sie können einen aggregierten Bericht erstellen, indem Sie dieselbe Ergebnistabelle für mehrere Scans verwenden.

Sie können die Datenqualitätsjobs mit den Logs data_scan und data_quality_scan_rule_result im Log-Explorer überwachen.

Für jeden Datenqualitätsjob enthält das Log data_scan, dessen Feld data_scan_type auf DATA_QUALITY gesetzt ist, die folgenden Informationen:

  • Für den Datenscan verwendete Datenquelle.
  • Details zur Jobausführung, z. B. Erstellungszeit, Startzeit, Endzeit und Jobstatus.
  • Ergebnis des Datenqualitätsjobs: bestanden oder nicht erfolgreich.
  • Prüfung auf Dimensionsebene:

Jeder erfolgreiche Job enthält ein data_quality_scan_rule_result-Log mit den folgenden detaillierten Informationen zu jeder Regel in diesem Job:

  • Konfigurationsinformationen wie Regelname, Regeltyp, Bewertungstyp und Dimension.
  • Ergebnisinformationen wie Karten/Tickets oder Fehler, Gesamtzahl der Zeilen, Anzahl der übergebenen Zeilen, Anzahl der Nullzeilen und Anzahl der ausgewerteten Zeilen.

Die Informationen in den Logs sind über die API und die Google Cloud Console verfügbar. Anhand dieser Informationen können Sie Benachrichtigungen einrichten. Weitere Informationen finden Sie unter Benachrichtigungen in Cloud Logging festlegen.

Fehler beheben

Wenn eine Regel fehlschlägt, wird in Dataplex eine Abfrage generiert, die alle Spalten der Tabelle zurückgibt, nicht nur die fehlgeschlagene Spalte.

Beschränkungen

  • Die Ergebnisse des Datenqualitätsscans werden nicht in Data Catalog als Tags veröffentlicht.
  • Regelempfehlungen werden nur in der Google Cloud Console unterstützt.
  • Die zu scannenden BigQuery-Tabellen dürfen maximal 300 Spalten umfassen.
  • Die Auswahl der Dimensionen wird auf eine der vordefinierten sieben Dimensionen festgelegt.
  • Die Anzahl der Regeln pro Datenqualitätsscan ist auf 1.000 beschränkt.

Preise

  • Dataplex verwendet die Premium-Verarbeitungs-SKU, um die automatische Datenqualität zu berechnen. Weitere Informationen finden Sie unter Dataplex-Preise.

  • Die Veröffentlichung der Ergebnisse für die automatische Datenqualität im Katalog ist noch nicht verfügbar. Wenn sie verfügbar sind, werden sie genauso berechnet wie Katalogmetadaten beim Speichern von Metadaten. Weitere Informationen finden Sie unter Preise.

  • Die Premium-Verarbeitung von Dataplex für die automatische Datenqualität wird pro Sekunde mit einer Mindestdauer von einer Minute abgerechnet.

  • Für fehlgeschlagene Datenqualitätsscans fallen keine Gebühren an.

  • Die Kosten hängen von der Anzahl der Zeilen, der Anzahl der Spalten, der Menge der gescannten Daten, der Konfiguration der Datenqualitätsregel, der Partitionierungs- und Clustering-Einstellungen in der Tabelle und der Häufigkeit des Gscans ab.

  • Es gibt mehrere Möglichkeiten, die Kosten für Datenqualitätsscans zu reduzieren:

  • Verwenden Sie das Label goog-dataplex-workload-type mit dem Wert DATA_QUALITY, um die Datenqualitätskosten von anderen Gebühren in der Dataplex Premium-Verarbeitungs-SKU zu trennen.

  • Aggregierte Gebühren filtern. Verwenden Sie die folgenden Labels:

    • goog-dataplex-datascan-data-source-dataplex-entity
    • goog-dataplex-datascan-data-source-dataplex-lake
    • goog-dataplex-datascan-data-source-dataplex-zone
    • goog-dataplex-datascan-data-source-project
    • goog-dataplex-datascan-data-source-region
    • goog-dataplex-datascan-id
    • goog-dataplex-datascan-job-id

Nächste Schritte