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
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:
- Regeldefinition
- Regelausführung
- Monitoring und Benachrichtigungen
- Fehlerbehebung
Regeldefinition
Mit einem Datenqualitätsscan verknüpfte Datenqualitätsregeln definieren Datenerwartungen. Regeln für die Datenqualität lassen sich auf folgende Arten erstellen:
- Empfehlungen aus Dataplex-Datenprofilierung verwenden
- Vordefinierte Regeln verwenden
- Benutzerdefinierte SQL-Regeln 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 Werttrue
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:
Optional:
|
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:
Optional:
|
RegexExpectation (Regex-Prüfung) |
Zeilenebene | Überprüfen Sie die Werte noch einmal mit einem angegebenen regulären Ausdruck. | String | Erforderlich:
|
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:
|
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:
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 WertDATA_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
- Weitere Informationen zur Verwendung der automatischen Datenqualität
- Weitere Informationen zur Datenprofilerstellung
- Weitere Informationen zum Verwenden von Datenprofilen