Automatische Datenqualität verwenden

Auf dieser Seite wird beschrieben, wie Sie einen Dataplex-Datenqualitätsscan erstellen.

Weitere Informationen zu Datenqualitätsscans

Hinweise

Aktivieren Sie die Dataplex API.

API aktivieren

Berechtigungen

  • Zum Ausführen eines Datenqualitätsscans für eine BigQuery-Tabelle benötigen Sie die Berechtigung zum Lesen der BigQuery-Tabelle und die Berechtigung zum Erstellen eines BigQuery-Jobs in dem Projekt, das zum Scannen der Tabelle verwendet wird.

  • Wenn sich die BigQuery-Tabelle und der Datenqualitätsscan in verschiedenen Projekten befinden, müssen Sie dem Dataplex-Dienstkonto des Projekts, das die Datenqualitätsscan-Leseberechtigung enthält, für die entsprechende BigQuery-Tabelle erteilen.

  • Wenn sich die Regeln für die Datenqualität auf zusätzliche Tabellen beziehen, muss das Dienstkonto des Scanprojekts Leseberechtigungen für dieselben Tabellen haben.

  • Bitten Sie Ihren Administrator, dem Dataplex-Dienstkonto die IAM-Rolle BigQuery-Datenbearbeiter (roles/bigquery.dataEditor) für das Ergebnis-Dataset und die Tabelle zu erteilen, um die Berechtigungen zu erhalten, die Sie zum Exportieren der Scanergebnisse in eine BigQuery-Tabelle benötigen. Hierdurch werden die folgenden Berechtigungen gewährt:

    • bigquery.datasets.get
    • bigquery.tables.create
    • bigquery.tables.get
    • bigquery.tables.getData
    • bigquery.tables.update
    • bigquery.tables.updateData
  • Wenn die BigQuery-Daten in einem Dataplex-See organisiert sind, gewähren Sie dem Dataplex-Dienstkonto die Rollen roles/dataplex.metadataReader und roles/dataplex.viewer. Alternativ benötigen Sie die folgenden Berechtigungen:

    • dataplex.lakes.list
    • dataplex.lakes.get
    • dataplex.zones.list
    • dataplex.zones.get
    • dataplex.entities.list
    • dataplex.entities.get
    • dataplex.operations.get
  • Wenn Sie eine externe BigQuery-Tabelle aus Cloud Storage scannen, weisen Sie dem Dataplex-Dienstkonto die Cloud Storage-Rolle roles/storage.objectViewer für den Bucket zu. Alternativ weisen Sie dem Dataplex-Dienstkonto die folgenden Berechtigungen zu:

    • storage.buckets.get
    • storage.objects.get
  • Wenn Sie die Ergebnisse des Datenqualitätsscans in den BigQuery- und Data Catalog-Seiten in der Google Cloud Console für die Quelltabellen veröffentlichen möchten, müssen Sie entweder die IAM-Rolle „BigQuery-Datenbearbeiter“ (roles/bigquery.dataEditor) oder die Berechtigung bigquery.tables.update für die Tabelle haben.

  • Wenn Sie auf Spalten zugreifen müssen, die durch BigQuery-Zugriffsrichtlinien auf Spaltenebene geschützt sind, weisen Sie den Dataplex-Dienstkontoberechtigungen für diese Spalten zu. Der Nutzer, der einen Datenscan erstellt oder aktualisiert, benötigt außerdem Berechtigungen für die Spalten.

  • Wenn für eine Tabelle BigQuery-Zugriffsrichtlinien auf Zeilenebene aktiviert sind, können Sie nur Zeilen scannen, die für das Dataplex-Dienstkonto sichtbar sind. Beachten Sie, dass die Zugriffsberechtigungen des Nutzers nicht für Richtlinien auf Zeilenebene ausgewertet werden.

Berechtigungen und Rollen für Datenscans

Zum Verwenden der automatischen Datenqualität benötigen Sie entweder die Berechtigungen zum Ausführen von Datenscans oder eine Rolle mit vordefinierten Berechtigungen zum Ausführen von Datenscans.

In der folgenden Tabelle sind die Berechtigungen von DataScan aufgeführt:

Name der Berechtigung Gewährt folgende Berechtigungen:
dataplex.datascans.create DataScan erstellen
dataplex.datascans.delete DataScan löschen
dataplex.datascans.get Operative Metadaten wie ID oder Zeitplan, jedoch keine Ergebnisse und Regeln, aufrufen
dataplex.datascans.getData Details zu DataScan, einschließlich Regeln und Ergebnissen, ansehen
dataplex.datascans.list DataScan s auflisten
dataplex.datascans.run DataScan ausführen
dataplex.datascans.update Die Beschreibung eines DataScan aktualisieren
dataplex.datascans.getIamPolicy Aktuelle IAM-Berechtigungen für den Scan ansehen
dataplex.datascans.setIamPolicy IAM-Berechtigungen für den Scan festlegen

Weisen Sie Nutzern eine oder mehrere der folgenden Rollen zu:

  • roles/dataplex.dataScanAdmin: Vollständiger Zugriff auf DataScan-Ressourcen.
  • roles/dataplex.dataScanEditor: Schreibzugriff auf DataScan Ressourcen.
  • roles/dataplex.dataScanViewer: Lesezugriff auf DataScan-Ressourcen ohne Regeln und Ergebnisse.
  • roles/dataplex.dataScanDataViewer: Lesezugriff auf DataScan-Ressourcen, einschließlich Regeln und Ergebnissen.

Datenqualitätsscan erstellen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Datenqualität auf.

    Zur Datenqualität

  2. Klicken Sie auf Datenqualitätsscan erstellen.

  3. Füllen Sie im Fenster Scan definieren die folgenden Felder aus:

    1. Geben Sie einen Anzeigenamen ein.

    2. Die Scan-ID wird automatisch generiert, wenn Sie keine eigene ID angeben. Weitere Informationen finden Sie in der Namenskonvention für Ressourcen.

    3. Optional: Geben Sie eine Beschreibung ein.

    4. Klicken Sie im Feld Tabelle auf Durchsuchen, wählen Sie die Tabelle aus und klicken Sie auf Auswählen. Dataplex unterstützt nur BigQuery-Standardtabellen.

      Wählen Sie für Tabellen in Datasets mit mehreren Regionen eine Region aus, in der der Datenscan erstellt werden soll.

      Klicken Sie auf In Dataplex-Lakes durchsuchen, um die innerhalb des Dataplex-Lakes organisierten Tabellen zu durchsuchen.

    5. Wählen Sie im Feld Umfang die Option Inkrementelle oder Gesamte Daten aus.

      • Wenn Sie Inkrementeller Wert auswählen, wählen Sie im Feld Zeitstempelspalte eine Spalte vom Typ DATE oder TIMESTAMP aus Ihrer BigQuery-Tabelle aus, die monoton zunimmt und zum Identifizieren neuer Datensätze verwendet werden kann. Das kann eine Spalte sein, mit der die Tabelle partitioniert wird.
    6. Optional: Fügen Sie Labels hinzu. Labels sind key:value-Paare, mit denen Sie zusammengehörige Objekte zusammen mit anderen Google Cloud-Ressourcen gruppieren können.

    7. Klicken Sie dazu auf Filter. Klicken Sie das Kästchen Zeilen filtern an. Der Eingabewert für den Zeilenfilter muss ein gültiger SQL-Ausdruck sein, der als Teil einer WHERE-Klausel in der BigQuery-Standard-SQL-Syntax verwendet werden kann. Beispiel: col1 >= 0 Der Filter kann eine Kombination aus mehreren Spaltenbedingungen sein. Beispiel: col1 >= 0 AND col2 < 10.

    8. Wählen Sie in der Liste Stichprobengröße einen Stichprobenprozentsatz aus. Wählen Sie einen Prozentwert zwischen 0,0% und 100,0% mit bis zu drei Dezimalstellen aus. Wählen Sie für größere Datasets einen niedrigeren Prozentsatz für die Stichprobenerhebung aus. Wenn Sie beispielsweise in einer Tabelle mit ca. 1 PB einen Wert zwischen 0, 1% und 1, 0 % eingeben, füllt Dataplex zwischen 1 und 10 TB Daten auf. Bei inkrementellen Datenscans wendet Dataplex Stichproben auf das letzte Inkrement an.

    9. Klicken Sie auf das Kästchen Ergebnisse in der Benutzeroberfläche von BigQuery und Dataplex Catalog veröffentlichen, um die Ergebnisse des Datenqualitätsscans in der Google Cloud Console auf der Seite „BigQuery“ und „Data Catalog“ für die Quelltabelle zu veröffentlichen. Die neuesten Scanergebnisse finden Sie auf den BigQuery- und Data Catalog-Seiten für die Quelltabelle auf dem Tab Datenqualität. Wie Sie Nutzern den Zugriff auf die veröffentlichten Scanergebnisse ermöglichen, erfahren Sie unter Veröffentlichte Ergebnisse freigeben. Die Veröffentlichungsoption ist in den folgenden Fällen möglicherweise nicht verfügbar:

      • Sie haben nicht die erforderlichen Berechtigungen für die Tabelle.
      • Ein anderer Datenqualitätsscan ist festgelegt, um Ergebnisse zu veröffentlichen.

      Weitere Informationen zu den Berechtigungen, die zum Ansehen der veröffentlichten Ergebnisse erforderlich sind, finden Sie unter Berechtigungen.

    10. Klicken Sie auf Weiter.

  4. Wählen Sie im Fenster Zeitplan eine der folgenden Optionen aus:

    • Wiederholen: Führen Sie einen Scanjob zur Datenqualität nach einem Zeitplan aus: täglich, wöchentlich, monatlich oder benutzerdefiniert. Legen Sie fest, wie oft und zu welcher Zeit der Scan ausgeführt wird. Wenn Sie „Benutzerdefiniert“ auswählen, verwenden Sie das cron-Format, um den Zeitplan anzugeben.

    • On-Demand: Führen Sie bei Bedarf den Scanjob für die Datenqualität aus.

    Klicken Sie auf Weiter.

  5. Definieren Sie im Fenster Regeln für die Datenqualität Regeln, die für diesen Datenqualitätsscan konfiguriert werden sollen. Wählen Sie im Feld Regeln eine der folgenden Optionen aus.

    • Option 1: Profilbasierte Empfehlungen: Erstellen Sie Regeln anhand der Empfehlungen auf Grundlage eines vorhandenen Scans für die Datenprofilerstellung.

      1. Spalten auswählen: Wählen Sie die Spalten aus, für die Sie empfohlene Regeln erhalten möchten.

      2. Scanprojekt: Empfehlungen, die auf einem vorhandenen Scan zur Datenprofilerstellung basieren. Standardmäßig wählt Dataplex Profilerstellungsscans aus dem Projekt aus, in dem Sie den Datenqualitätsscan erstellen. Wenn Sie den Scan in einem anderen Projekt erstellt haben, müssen Sie das Projekt angeben, aus dem Profilscans abgerufen werden sollen.

      3. Profilergebnisse auswählen: Basierend auf den ausgewählten Spalten und dem ausgewählten Projekt werden mehrere Profilergebnisse angezeigt.

      4. Wählen Sie ein oder mehrere Profilergebnisse aus und klicken Sie auf OK. Dadurch wird eine Liste mit Regeln zur Auswahl angezeigt.

      5. Wählen Sie die Regeln aus, die Sie bearbeiten möchten, indem Sie die entsprechenden Kästchen anklicken und dann Auswählen auswählen. Nach der Auswahl werden die Regeln Ihrer aktuellen Regelliste hinzugefügt. Anschließend können Sie die Regeln bearbeiten.

    • Option 2: Integrierte Regeltypen: Regeln anhand vordefinierter Regeln erstellen Hier finden Sie eine Liste der vordefinierten Regeln.

      1. Spalten auswählen: Wählen Sie die Spalten aus, für die Sie Regeln auswählen möchten.

      2. Regeltypen auswählen: Für die ausgewählten Spalten werden mehrere Regeltypen angezeigt.

      3. Wählen Sie einen oder mehrere Regeltypen aus und klicken Sie auf OK. Dadurch wird eine Liste mit Regeln ausgewählt, aus denen ausgewählt werden kann.

      4. Wählen Sie die Regeln aus, die Sie bearbeiten möchten, indem Sie die entsprechenden Kästchen anklicken und dann auf Auswählen klicken. Anschließend werden die Regeln Ihrer aktuellen Regelliste hinzugefügt. Anschließend können Sie die Regeln bearbeiten.

    • Option 3: Regel für SQL-Zeilenprüfung: Erstellen Sie eine benutzerdefinierte SQL-Regel, die auf jede Zeile angewendet werden soll (benutzerdefinierte SQL-Regel für die Zeilenprüfung). Wählen Sie eine SQL-Regel für Zeilenprüfung aus und gehen Sie so vor:

      1. Wählen Sie unter Dimension eine Dimension aus.

      2. Wählen Sie unter Bestandenwert einen Prozentsatz von Datensätzen aus, die die Prüfung bestehen müssen.

      3. Wählen Sie unter Spaltenname eine Spalte aus.

      4. Klicken Sie auf Hinzufügen.

    • Option 4: SQL-Regel für aggregierte SQL-Prüfung: Erstellen Sie eine benutzerdefinierte SQL-Regel für die Aggregationsprüfung. Wählen Sie die Prüfregel für SQL Aggregate aus und gehen Sie so vor:

      1. Wählen Sie unter Dimension eine Dimension aus.

      2. Wählen Sie unter Spaltenname eine Spalte aus.

      3. Klicken Sie auf Hinzufügen.

    Dataplex erlaubt benutzerdefinierte Namen für Regeln für die Datenqualität zum Monitoring und für Benachrichtigungen. Für jede Datenqualitätsregel können Sie optional einen benutzerdefinierten Regelnamen und eine Beschreibung zuweisen. Bearbeiten Sie dazu eine Regel und geben Sie die folgenden Details an:

    • Regelname: Geben Sie einen Namen für die benutzerdefinierte Regel mit bis zu 63 Zeichen ein. Der Regelname kann Buchstaben (a–z, A–Z), Ziffern (0–9) und Bindestriche (-) enthalten und muss mit einem Buchstaben beginnen und mit einer Zahl oder einem Buchstaben enden.
    • Beschreibung: Geben Sie eine Regelbeschreibung mit einer maximalen Länge von 1.024 Zeichen ein.

    Klicken Sie auf Weiter.

  6. Optional: Exportieren Sie die Scanergebnisse in eine BigQuery-Standardtabelle. Klicken Sie auf Durchsuchen, um ein vorhandenes BigQuery-Dataset auszuwählen, in dem die Ergebnisse des Datenqualitätsscans gespeichert werden sollen.

    Wenn die angegebene Tabelle nicht vorhanden ist, erstellt Dataplex sie für Sie. Wenn Sie eine vorhandene Tabelle verwenden, achten Sie darauf, dass sie mit dem Tabellenschema kompatibel ist, das weiter unten in diesem Abschnitt beschrieben wird.

  7. Klicken Sie auf Erstellen.

    Nachdem der Scan erstellt wurde, können Sie ihn jederzeit ausführen, indem Sie auf Jetzt ausführen klicken.

gcloud

Führen Sie den folgenden Befehl aus, um einen Datenqualitätsscan zu erstellen:

gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-entity=DATA_SOURCE_ENTITY
| --data-source-resource=DATA_SOURCE_RESOURCE

Ersetzen Sie die folgenden Variablen:

  • DATASCAN: Der Name des Datenqualitätsscans.
  • LOCATION: Die Google Cloud-Region, in der der Datenqualitätsscan erstellt werden soll.
  • data-quality-spec-file: Der Pfad zur Datei JSON oder YAML, die die Spezifikationen für den Datenqualitätsscan enthält. Die Datei kann eine lokale Datei oder ein Cloud Storage-Pfad mit dem Präfix gs:// sein. Sie können in dieser Datei zusätzliche Felder angeben, z. B. rules, rowFilter oder samplingPercent. Weitere Informationen finden Sie in der Dokumentation zur JSON-Darstellung.
  • data-source-entity: Die Dataplex-Entität, die die Daten für den Datenqualitätsscan enthält. Beispiel: projects/test-project/locations/test-location/lakes/test-lake/zones/test-zone/entities/test-entity
  • data-source-resource: Der Name der Ressource, die die Daten für den Datenqualitätsscan enthält. Beispiel: //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table

Informationen zu optionalen Argumenten finden Sie in der Referenz zur gcloud CLI.

REST

Mit dem APIs Explorer können Sie einen Datenqualitätsscan erstellen.

Tabellenschema exportieren

Achten Sie darauf, dass er mit dem folgenden Tabellenschema kompatibel ist, um die Ergebnisse des Datenqualitätsscans in eine vorhandene BigQuery-Tabelle zu exportieren:

Spaltenname Spaltendatentyp Name des untergeordneten Feldes
(falls zutreffend)
Datentyp des untergeordneten Feldes Modus Beispiel
Datenqualitätsscan struct/record resource_name string Nullwerte zulässig //dataplex.googleapis.com/projects/test-project/locations/europe-west2/datascans/test-datascan
project_id string Nullwerte zulässig dataplex-back-end-dev-project
location string Nullwerte zulässig us-central1
data_scan_id string Nullwerte zulässig test-datascan
Datenquelle struct/record resource_name string Nullwerte zulässig Entitätsfall:
//dataplex.googleapis.com/projects/dataplex-back-end-dev-project/locations/europe-west2/lakes/a0-datascan-test-lake/zones/a0-datascan-test-zone/entities/table1

Tabellenfall: //bigquery.googleapis.com/projects/test-project/datasets/test-dataset/tables/test-table
dataplex_entity_project_id string Nullwerte zulässig dataplex-back-end-dev-project
dataplex_entity_project_number integer Nullwerte zulässig 123456789
dataplex_lake_id string Nullwerte zulässig (Nur gültig, wenn die Quelle eine Entität ist)
test-lake
dataplex_zone_id string Nullwerte zulässig (Nur gültig, wenn die Quelle eine Entität ist)
test-zone
dataplex_entity_id string Nullwerte zulässig (Nur gültig, wenn die Quelle eine Entität ist)
test-entity
table_project_id string Nullwerte zulässig test-project
table_project_number integer Nullwerte zulässig 987654321
dataset_id string Nullwerte zulässig (Nur gültig, wenn die Quelle eine Tabelle ist)
test-dataset
table_id string Nullwerte zulässig (Nur gültig, wenn die Quelle eine Tabelle ist)
test-table
Datenqualitäts-ID string Nullwerte zulässig caeba234-cfde-4fca-9e5b-fe02a9812e38
Datenprofilkonfiguration json trigger string Nullwerte zulässig ondemand/schedule
incremental boolean Nullwerte zulässig true`/false
sampling_percent float Nullwerte zulässig (0–100)
20.0 (= 20%)
row_filter string Nullwerte zulässig col1 >= 0 AND col2 < 10
Joblabels json Nullwerte zulässig {"key1":value1}
Startzeit_Job timestamp Nullwerte zulässig 2023-01-01 00:00:00 UTC
Jobende timestamp Nullwerte zulässig 2023-01-01 00:00:00 UTC
Zeilen_gescannt integer Nullwerte zulässig 7500
Regelname string Nullwerte zulässig test-rule
Regeltyp string Nullwerte zulässig Range Check
Regelbewertungstyp string Nullwerte zulässig Per row
Regelspalte string Nullwerte zulässig Rule only attached to a certain column
Regeldimension string Nullwerte zulässig Uniqueness
Jobqualitätsergebnis struct/record passed boolean Nullwerte zulässig true/false
score float Nullwerte zulässig 90.8
Jobdimension json Nullwerte zulässig {
"accuracy":{
"passed":true
},
"consistency":{
"passed":false
}
}
Regel_Schwellenwert_in_Prozent float Nullwerte zulässig (0,0–100,0)
Rule-threshold-pct in API * 100
Regelparameter json Nullwerte zulässig {min: 24, max:5345}
Regelpass boolean Nullwerte zulässig True
Regelzeilen_bewertet integer Nullwerte zulässig 7400
Regelzeilen_bestanden integer Nullwerte zulässig 3
Regelzeilen_null integer Nullwerte zulässig 4
Regelfehler_Abfrage string Nullwerte zulässig "SELECT * FROM `test-project.test-dataset.test-table` WHERE (NOT((`cTime` >= '15:31:38.776361' and `cTime` <= '19:23:53.754823') IS TRUE));"

Beachten Sie beim Konfigurieren von BigQueryExport für einen Datenqualitätsscanjob die folgenden Richtlinien:

  • Verwenden Sie für das Feld resultsTable das Format //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id}/tables/{table-id}.
  • Verwenden Sie eine BigQuery-Standardtabelle.
  • Wenn die Tabelle beim Erstellen oder Aktualisieren des Scans nicht vorhanden ist, erstellt Dataplex die Tabelle für Sie.
  • Standardmäßig wird die Tabelle nach der Spalte job_start_time partitioniert.
  • Wenn Sie möchten, dass die Tabelle in anderen Konfigurationen partitioniert wird oder die Partition nicht erstellt werden soll, erstellen Sie die Tabelle mit dem erforderlichen Schema und den erforderlichen Konfigurationen neu und stellen Sie die vorab erstellte Tabelle als Ergebnistabelle bereit.
  • Achten Sie darauf, dass sich die Ergebnistabelle am selben Speicherort wie die Quelltabelle befindet.
  • Wenn in dem Projekt VPC-SC konfiguriert ist, muss sich die Ergebnistabelle im selben VPC-SC-Perimeter wie die Quelltabelle befinden.
  • Wenn die Tabelle während der Scanausführungsphase geändert wird, wird der aktuell ausgeführte Job in die vorherige Ergebnistabelle exportiert und die Tabellenänderung wird ab dem nächsten Scanjob wirksam.
  • Ändern Sie nicht das Tabellenschema. Wenn Sie benutzerdefinierte Spalten benötigen, erstellen Sie eine Ansicht in der Tabelle.
  • Legen Sie je nach Anwendungsfall eine Ablaufzeit fest, um die Kosten zu senken. Weitere Informationen finden Sie unter Ablaufzeit der Partition festlegen.

Datenqualitätsscan ausführen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Datenqualität auf. Rufen Sie Dataplex-Datenqualität auf.
  2. Klicken Sie zum Ausführen auf den Datenqualitätsscan.
  3. Klicken Sie auf Jetzt ausführen.

gcloud

Führen Sie den folgenden Befehl aus, um einen Datenqualitätsscan auszuführen:

gcloud dataplex datascans run DATASCAN \
--location=LOCATION \

Ersetzen Sie die folgenden Variablen:

  • LOCATION: Die Google Cloud-Region, in der der Datenqualitätsscan erstellt wurde.
  • DATASCAN: Der Name des Datenqualitätsscans.

Informationen zu optionalen Argumenten finden Sie in der Referenz zur gcloud CLI.

REST

Mit dem APIs Explorer haben Sie die Möglichkeit, Ihren Datenqualitätsscan auszuführen.

Ergebnisse des Datenqualitätsscanjobs ansehen

Console

Die von Ihnen erstellten Datenqualitätsscans werden auf der Seite Datenqualität angezeigt.

Klicken Sie auf den Namen des Scans, um die detaillierten Ergebnisse eines Scans aufzurufen.

  • Im Abschnitt Übersicht werden Informationen zu den letzten sieben Ausführungen angezeigt, einschließlich des Zeitpunkts der Ausführung des Scans, der Anzahl der Einträge, die in den einzelnen Jobs gescannt wurden, ob alle Datenqualitätsprüfungen bestanden wurden, ob Fehler aufgetreten sind, wie viele Datenqualitätsprüfungen fehlgeschlagen sind und welche Dimensionen fehlgeschlagen sind.

  • Der Bereich Konfiguration des Datenqualitätsscans enthält Details zum Scan.

gcloud

Führen Sie den folgenden Befehl aus, um die Ergebnisse eines Datenqualitätsscanjobs anzusehen:

gcloud dataplex datascans jobs describe JOB \
--location=LOCATION \
--datascan=DATASCAN \
--view=FULL

Ersetzen Sie die folgenden Variablen:

  • JOB: Die Job-ID des Datenqualitätsscanjobs.
  • LOCATION: Die Google Cloud-Region, in der der Datenqualitätsscan erstellt wurde.
  • DATASCAN: Der Name der Datenqualitätsscan, zu der der Job gehört.
  • --view=FULL: Geben Sie FULL an, um das Ergebnis des Scanjobs zu sehen.

Informationen zu optionalen Argumenten finden Sie in der Referenz zur gcloud CLI.

REST

Mit dem APIs Explorer können Sie die Ergebnisse eines Datenqualitätsscans ansehen.

Alle Scanjobs zur Datenqualität ansehen

Dataplex speichert den Datenqualitätsscanverlauf der letzten 300 Jobs oder für das letzte Jahr, je nachdem, was zuerst eintritt.

Console

Der Tab Jobverlauf enthält Informationen zu vergangenen Jobs. Die Liste enthält unter anderem alle Jobs, die Anzahl der in jedem Job gescannten Datensätze, den Jobstatus, den Zeitpunkt der Ausführung des Jobs und ob die einzelnen Regeln bestanden wurden.

Wenn Sie detaillierte Informationen zu einem Job aufrufen möchten, klicken Sie in der Spalte Job-ID auf einen der Jobs.

gcloud

Führen Sie den folgenden Befehl aus, um alle Jobs eines Datenqualitätsscans anzusehen:

gcloud dataplex datascans jobs list \
--location=LOCATION \
--datascan=DATASCAN \

Ersetzen Sie die folgenden Variablen:

  • LOCATION: Die Google Cloud-Region, in der der Datenqualitätsscan erstellt wurde.
  • DATASCAN: Der Name des Datenqualitätsscans, für den alle Jobs angezeigt werden.

Informationen zu optionalen Argumenten finden Sie in der Referenz zur gcloud CLI.

REST

Verwenden Sie den APIs Explorer, um alle Scanjobs anzusehen.

Veröffentlichte Ergebnisse freigeben

Wenn Sie beim Erstellen eines Datenqualitätsscans die Scanergebnisse auf den BigQuery- und Data Catalog-Seiten in der Google Cloud Console veröffentlichen, sind die neuesten Scanergebnisse auf dem Tab Datenqualität auf diesen Seiten verfügbar.

Sie können den Nutzern in Ihrer Organisation den Zugriff auf die veröffentlichten Scanergebnisse erlauben. So gewähren Sie Zugriff auf die Scanergebnisse:

  1. Rufen Sie in der Google Cloud Console die Seite Profil auf.

    Zum Dataplex-Profil

  2. Klicken Sie auf den Datenqualitätsscan, für den Sie die Ergebnisse freigeben möchten.

  3. Wechseln Sie zum Tab Berechtigungen.

  4. Klicken Sie auf Zugriff erlauben.

  5. Fügen Sie im Feld Neue Hauptkonten das Hauptkonto hinzu, auf das Sie Zugriff gewähren möchten.

  6. Wählen Sie im Feld Rolle auswählen die Option Dataplex DataScan DataViewer aus.

  7. Klicken Sie auf Speichern.

So entfernen Sie den Zugriff auf die veröffentlichten Scanergebnisse für ein Hauptkonto:

  1. Rufen Sie in der Google Cloud Console die Seite Profil auf.

    Zum Dataplex-Profil

  2. Klicken Sie auf den Datenqualitätsscan, für den Sie die Ergebnisse freigeben möchten.

  3. Wechseln Sie zum Tab Berechtigungen.

  4. Wählen Sie das Hauptkonto aus, für das Sie die Rolle Dataplex DataScan DataViewer entfernen möchten.

  5. Klicken Sie auf Zugriff entfernen.

  6. Klicken Sie auf Bestätigen.

Datenqualitätsscan aktualisieren

Console

  1. Rufen Sie in der Google Cloud Console die Seite Datenqualität auf.

    Zur Datenqualität

  2. Klicken Sie in der Zeile mit dem zu bearbeitenden Scan auf das Dreipunkt-Menü > Bearbeiten.

  3. Die Werte bearbeiten

  4. Klicken Sie auf Speichern.

gcloud

Führen Sie den folgenden Befehl aus, um die Beschreibung eines Datenqualitätsscans zu aktualisieren:

gcloud dataplex datascans update data-quality DATASCAN \
--location=LOCATION \
--description=DESCRIPTION

Ersetzen Sie Folgendes:

  • DATASCAN: Der Name des zu aktualisierenden Datenqualitätsscans.
  • LOCATION: Die Google Cloud-Region, in der der Datenqualitätsscan erstellt wurde.
  • DESCRIPTION: Die neue Beschreibung für den Datenqualitätsscan.

Informationen zu optionalen Argumenten finden Sie in der Referenz zur gcloud CLI.

REST

Mit dem APIs Explorer können Sie den Datenscan bearbeiten.

Datenqualitätsscan löschen

Console

  1. Rufen Sie in der Google Cloud Console die Seite Datenqualität auf.

    Zur Datenqualität

  2. Klicken Sie auf den Scan, den Sie löschen möchten.

  3. Klicken Sie auf Löschen.

gcloud

Führen Sie den folgenden Befehl aus, um einen Datenqualitätsscan zu löschen:

gcloud dataplex datascans delete \
DATASCAN --location=LOCATION \
--async

Ersetzen Sie die folgenden Variablen:

  • LOCATION: Die Google Cloud-Region, in der der Datenqualitätsscan erstellt wurde.
  • DATASCAN: Der Name des zu löschenden Datenqualitätsscans.

Informationen zu optionalen Argumenten finden Sie in der Referenz zur gcloud CLI.

REST

Verwenden Sie den APIs Explorer, um den Datenqualitätsscan zu löschen.

Benachrichtigungen in Cloud Logging festlegen

So legen Sie Benachrichtigungen für Datenqualitätsfehler mithilfe der Logs in Cloud Logging fest:

Console

  1. Rufen Sie in der Google Cloud Console Cloud Logging > Log-Explorer auf.

    Zum Log-Explorer

  2. Geben Sie im Fenster Abfrage Ihre Abfrage ein. Siehe Beispielabfragen.

  3. Klicken Sie auf Abfrage ausführen.

  4. Klicken Sie auf Benachrichtigung erstellen. Dadurch wird eine Seitenleiste geöffnet.

  5. Geben Sie den Namen der Benachrichtigungsrichtlinie ein und klicken Sie auf Next (Weiter).

  6. Überprüfen Sie die Abfrage.

    1. Klicken Sie auf die Schaltfläche Vorschau der Protokolle anzeigen, um die Abfrage zu testen. Es werden Logs mit übereinstimmenden Bedingungen angezeigt.

    2. Klicken Sie auf Next (Weiter).

  7. Legen Sie die Zeit zwischen Benachrichtigungen fest und klicken Sie auf Weiter.

  8. Legen Sie fest, wer für die Benachrichtigung benachrichtigt werden soll, und klicken Sie auf Speichern, um die Benachrichtigungsrichtlinie zu erstellen.

Alternativ können Sie Benachrichtigungen in der Google Cloud Console unter Monitoring > Benachrichtigungen konfigurieren und bearbeiten.

gcloud

Nicht unterstützt.

REST

Mit APIs Explorer können Sie Benachrichtigungen in Cloud Logging festlegen.

Beispielabfragen zum Festlegen von Benachrichtigungen auf Job- oder Dimensionsebene

  • Eine Beispielabfrage zum Festlegen von Benachrichtigungen zu Datenqualitätsfehlern bei einem Datenqualitätsscan:

    resource.type="dataplex.googleapis.com/DataScan"
    AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED"
    AND resource.labels.resource_container="projects/112233445566"
    AND resource.labels.datascan_id="a0-test-dec6-dq-3"
    AND NOT jsonPayload.dataQuality.passed=true
    
  • Beispielabfrage zum Festlegen von Benachrichtigungen bei Datenqualitätsfehlern bei einer Dimension (z. B. Eindeutigkeit) eines bestimmten Datenqualitätsscans:

    resource.type="dataplex.googleapis.com/DataScan"
    AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED"
    AND resource.labels.resource_container="projects/112233445566"
    AND resource.labels.datascan_id="a0-test-dec6-dq-3"
    AND jsonPayload.dataQuality.dimensionPassed.UNIQUENESS=false
    
  • Beispielabfrage zum Festlegen von Benachrichtigungen zu Datenqualitätsfehlern bei einer Tabelle

    • So legen Sie Benachrichtigungen bei Problemen mit der Datenqualität für eine BigQuery-Tabelle fest, die nicht in einem Dataplex-Lake organisiert wird:

      resource.type="dataplex.googleapis.com/DataScan"
      AND jsonPayload.dataSource="//bigquery.googleapis.com/projects/test-project/datasets/testdataset/table/chicago_taxi_trips"
      AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED"
      AND resource.labels.resource_container="projects/112233445566"
      AND NOT jsonPayload.dataQuality.passed=true
      
    • Legen Sie Benachrichtigungen bei Problemen mit der Datenqualität für eine BigQuery-Tabelle fest, die in einem Dataplex-Lake organisiert wird:

      resource.type="dataplex.googleapis.com/DataScan"
      AND jsonPayload.dataSource="projects/test-project/datasets/testdataset/table/chicago_taxi_trips"
      AND labels."dataplex.googleapis.com/data_scan_state"="SUCCEEDED"
      AND resource.labels.resource_container="projects/112233445566"
      AND NOT jsonPayload.dataQuality.passed=true
      

Beispielabfragen zum Festlegen von Benachrichtigungen pro Regel

  • Beispielabfrage zum Festlegen von Benachrichtigungen für alle fehlgeschlagenen Datenqualitätsregeln mit dem angegebenen benutzerdefinierten Regelnamen für einen Datenqualitätsscan:

    resource.type="dataplex.googleapis.com/DataScan"
    AND jsonPayload.ruleName="custom-name"
    AND jsonPayload.result="FAILED"
    
  • Beispielabfrage zum Festlegen von Benachrichtigungen für alle fehlgeschlagenen Datenqualitätsregeln eines bestimmten Bewertungstyps für einen Datenqualitätsscan:

    resource.type="dataplex.googleapis.com/DataScan"
    AND jsonPayload.evalutionType="PER_ROW"
    AND jsonPayload.result="FAILED"
    
  • Beispielabfrage zum Festlegen von Benachrichtigungen für alle fehlgeschlagenen Datenqualitätsregeln für eine Spalte in der Tabelle, die für einen Datenqualitätsscan verwendet wird:

    resource.type="dataplex.googleapis.com/DataScan"
    AND jsonPayload.column="CInteger"
    AND jsonPayload.result="FAILED"
    

Datenqualitätsfehler beheben

Für jeden Job mit fehlgeschlagenen Regeln auf Zeilenebene stellt Dataplex eine Abfrage zum Abrufen der fehlerhaften Einträge bereit. Führen Sie diese Abfrage aus, um die Einträge aufzurufen, die nicht Ihrer Regel entsprechen.

Console

  1. Rufen Sie in der Google Cloud Console die Seite Datenqualität auf.

    Zur Datenqualität

  2. Wählen Sie den zu überprüfenden Scan aus, indem Sie auf den Anzeigenamen klicken.

  3. Suchen Sie auf dem Tab Jobs-Verlauf die fehlgeschlagene Scanausführung und klicken Sie auf den Link „Fehler“.

  4. Suchen Sie im angezeigten Jobfenster im Abschnitt Regeln die Spalte Abfrage zum Abrufen fehlgeschlagener Einträge.

  5. Kopieren Sie die Abfrage, um sie in BigQuery auszuführen, und sehen Sie sich die Einträge an, die zum Fehlschlagen des Jobs geführt haben.

gcloud

Nicht unterstützt.

REST

Mit dem APIs Explorer können Sie die Abfrage aufrufen, um fehlgeschlagene Datensätze für fehlgeschlagene Jobs abzurufen.

Regeln für die Datenqualität definieren

Sie können die Datenqualität über die Console oder API, integrierte Regeln oder benutzerdefinierte SQL-Prüfungen definieren. Wenn Sie die gcloud CLI verwenden, können Sie diese Regeln in einer YAML-Datei definieren.

Nehmen Sie eine Tabelle mit dem folgenden Schema an:

Spaltenname Spaltentyp Spaltenbeschreibung
Transaktionszeitstempel Zeitstempel Zeitstempel der Transaktion. Die Tabelle ist in diesem Feld partitioniert.
Kunden-ID String Eine Kundennummer mit 8 Buchstaben gefolgt von 16 Ziffern.
Transaktions-ID String Die Transaktions-ID muss in der Tabelle eindeutig sein.
Währungs-ID String Eine der unterstützten Währungen.Der Währungstyp muss mit einer der verfügbaren Währungen in der Dimensionstabelle dim_currency übereinstimmen.
Menge float Transaktionsbetrag
Rabatt_% float Rabattprozentsatz. Dieser Wert muss zwischen 0 und 100 liegen.

Regeln für die Datenqualität mithilfe von integrierten Regeltypen definieren

Die folgenden Beispielregeln basieren auf integrierten Regeltypen. Sie können Regeln anhand der integrierten Regeltypen mit der Google Cloud Console oder der API erstellen. Dataplex empfiehlt möglicherweise einige dieser Regeln. Siehe die Liste der integrierten Regeln.

Spaltenname Regeltyp Dimension „Vorschlag“ Regelparameter
transaction_id Eindeutigkeitsprüfung Eindeutigkeit Threshold: Not Applicable (Grenzwert: 500)
amount Nullprüfung Vollständigkeit Threshold: 100% (Grenzwert: 500)
customer_id Regex-Prüfung Gültigkeit Regex: ^[0-9]{8}[a-zA-Z]{16}$
Grenzwert: 100%
currency_id Wertesatzprüfung Gültigkeit Satz: USD,JPY,INR,GBP,CAN
Grenzwert: 100%

Regeln für die Datenqualität mithilfe von benutzerdefinierten SQL-Regeln definieren

Verwenden Sie zum Erstellen von benutzerdefinierten SQL-Regeln das folgende Framework:

  • Wenn Sie eine Regel erstellen, die eine Zeile nach dem anderen auswertet, erstellen Sie einen Ausdruck, der die Anzahl der erfolgreichen Zeilen generiert, wenn Dataplex die Abfrage SELECT COUNTIF(custom-sql-expr) FROM TABLE auswertet. Dataplex prüft die Anzahl der erfolgreichen Zeilen mit dem Grenzwert.

  • Wenn Sie eine Regel erstellen, die die Zeilen oder die aggregierte SQL-Prüfung ausgewertet, erstellen Sie einen Ausdruck, der Erfolg oder Misserfolg liefert, wenn die Dataplex-Abfrage die SELECT IF(custom-sql-expr) FROM TABLE bewertet.

Regeltyp Regelbeschreibung SQL-Ausdruck
Zeilenbedingung Prüft, ob der Wert von discount_pct zwischen 0 und 100 liegt. 0 <discount_pct UND discount_pct < 100
Zeilenbedingung Verwenden Sie eine Referenzprüfung, um zu prüfen, ob currency_id eine der unterstützten Währungen ist. currency_id in (select id from my_project_id.dim_dataset.dim_currency)
Aggregierte Bedingung Prüfe, ob der durchschnittliche Wert discount_pct zwischen 30 und 50 % liegt. 30<avg(discount) AND avg(discount) <50
Zeilenbedingung Einfache Regel, die ein Datum in der Zukunft prüft TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
Aggregierte Bedingung Eine BigQuery-UDF, um zu prüfen, ob der durchschnittliche Transaktionsbetrag unter einem vordefinierten Wert pro Land liegt. Erstellen Sie die UDF (JavaScript) mit dem folgenden Befehl:

        CREATE OR REPLACE FUNCTION
        myProject.myDataset.average_by_country (
          country STRING, average FLOAT64)
        RETURNS BOOL LANGUAGE js AS R"""
        if (country = "CAN" && average < 5000){
          return 1
        } else if (country = "IND" && average < 1000){
          return 1
        } else { return 0 }
        """;
       
Beispiel für eine Regel zum Prüfen des durchschnittlichen Transaktionsbetrags für country=CAN.

        myProject.myDataset.average_by_country(
        "CAN",
        (select avg(amount) from
          myProject.myDataset.transactions_table
            where currency_id = 'CAN'
        ))
      
Aggregierte Bedingung Eine BigQuery ML-Vorhersageklausel, um Anomalien in discount_pct zu identifizieren. Hier wird geprüft, ob ein Rabatt auf Basis von customer, currency und transaction angewendet werden soll. Die Regel prüft mindestens 99% der Fälle, ob die Vorhersage mit dem tatsächlichen Wert übereinstimmt. Annahme: Das ML-Modell wird erstellt, bevor die Regel verwendet wird. Erstellen Sie das ML-Modell mit dem folgenden Befehl:

  CREATE MODEL
  model-project-id.dataset-id.model-name
        OPTIONS(model_type='logistic_reg') AS
  SELECT
  IF(discount_pct IS NULL, 0, 1) AS label,
  IFNULL(customer_id, "") AS customer,
  IFNULL(currency_id, "") AS currency,
  IFNULL(amount, 0.0) AS amount
  FROM
  `data-project-id.dataset-id.table-names`
  WHERE transaction_timestamp < '2022-01-01';
  
Mit der folgenden Prüfung wird geprüft, ob die Vorhersagegenauigkeit in mehr als 99 % liegt.

      SELECT
        accuracy > 0.99
      FROM
       ML.EVALUATE
        (MODEL model-project-id.dataset-id.model-name,
         (
          SELECT
            customer_id,
            currency_id,
            amount,
            discount_pct
          FROM
            data-project-id.dataset-id.table-names
          WHERE transaction_timestamp > '2022-01-01';
         )
        )
    
Zeilenbedingung Eine BigQuery ML-Vorhersagefunktion, um Anomalien in discount_pct zu identifizieren. Die Funktion prüft anhand von customer, currency und transaction, ob ein Rabatt angewendet werden soll. Die Regel identifiziert alle Vorkommnisse, bei denen die Vorhersage nicht übereinstimmt. Annahme: Das ML-Modell wird erstellt, bevor die Regel verwendet wird. Erstellen Sie das ML-Modell mit dem folgenden Befehl:

  CREATE MODEL
  model-project-id.dataset-id.model-name
        OPTIONS(model_type='logistic_reg') AS
  SELECT
  IF(discount_pct IS NULL, 0, 1) AS label,
  IFNULL(customer_id, "") AS customer,
  IFNULL(currency_id, "") AS currency,
  IFNULL(amount, 0.0) AS amount
  FROM
  `data-project-id.dataset-id.table-names`
  WHERE transaction_timestamp < '2022-01-01';
  
Mit der folgenden Prüfung wird ermittelt, ob die Rabattvorhersage mit dem tatsächlichen Wert in jeder Zeile übereinstimmt.

       IF(discount_pct > 0, 1, 0)
          =(SELECT predicted_label FROM
           ML.PREDICT(
            MODEL model-project-id.dataset-id.model-name,
              (
                SELECT
                  customer_id,
                  currency_id,
                  amount,
                  discount_pct
                FROM
                  data-project-id.dataset-id.table-names as t
                    WHERE t.transaction_timestamp =
                     transaction_timestamp
                   LIMIT 1
              )
            )
         )
    

Datenqualität mit gcloud definieren

Für die folgende YAML-Datei gelten dieselben Regeln wie für Beispielregeln mit integrierten Typen und Beispiel für benutzerdefinierte SQL-Regeln. Sie können diese YAML-Datei als Eingabe für den Befehl gcloud verwenden.

rules:
- uniquenessExpectation: {}
  column: transaction_id
  dimension: UNIQUENESS
- nonNullExpectation: {}
  column: amount
  dimension: COMPLETENESS
  threshold: 1
- regexExpectation:
  regex: '^[0-9]{8}[a-zA-Z]{16}$'
  column : customer_id
  ignoreNull : true
  dimension : VALIDITY
  threshold : 1
- setExpectation :
  values :
  - 'USD'
  - 'JPY'
  - 'INR'
  - 'GBP'
  - 'CAN'
  column : currency_id
  ignoreNull : true
  dimension : VALIDITY
  threshold : 1
- rowConditionExpectation:
    sqlExpression : 0 < `discount_pct` AND `discount_pct` < 100
  column: discount_pct
  dimension: VALIDITY
  threshold: 1
- rowConditionExpectation:
    sqlExpression : currency_id in (select id from `my_project_id.dim_dataset.dim_currency`)
  column: currency_id
  dimension: VALIDITY
  threshold: 1
- tableConditionExpectation:
    sqlExpression : 30 < avg(discount_pct) AND avg(discount_pct) < 50
  dimension: VALIDITY
- rowConditionExpectation:
    sqlExpression : TIMESTAMP(transaction_timestamp) < CURRENT_TIMESTAMP()
  column: transaction_timestamp
  dimension: VALIDITY
  threshold: 1

Führen Sie den folgenden Befehl aus, um mit dieser YAML-Beispieldatei einen Datenqualitätsscan zu erstellen:

gcloud dataplex datascans create data-quality DATASCAN \
--location=LOCATION \
--data-quality-spec-file=DATA_QUALITY_SPEC_FILE \
--data-source-entity=DATA_SOURCE_ENTITY
| --data-source-resource=DATA_SOURCE_RESOURCE

Ersetzen Sie die folgenden Variablen:

  • DATASCAN: Der Name des Datenqualitätsscans.
  • LOCATION: Die Google Cloud-Region, in der der Datenqualitätsscan erstellt wurde.
  • data-quality-spec-file: Der Pfad zur JSON- oder YAML-Datei, die die Spezifikationen für den Datenqualitätsscan enthält. Die Datei kann eine lokale Datei oder ein Cloud Storage-Pfad mit dem Präfix gs:// sein. Sie können die dateispezifischen Felder wie rules, rowFilter und samplingPercent ergänzen. Informationen zur JSON-Darstellung finden Sie in der Dokumentation.
  • data-source-entity: Die Dataplex-Entität, die die Daten für den Datenqualitätsscan enthält.
  • data-source-resource: Der Name der Cloud-Ressource, die die Daten für den Datenqualitätsscan enthält.

Nächste Schritte