Auf dieser Seite wird beschrieben, wie Sie einen Dataplex-Datenqualitätsscan erstellen.
Weitere Informationen zu Datenqualitätsscans
Hinweise
Aktivieren Sie die Dataplex API.
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
undroles/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 Berechtigungbigquery.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 aufDataScan
-Ressourcen.roles/dataplex.dataScanEditor
: Schreibzugriff aufDataScan
Ressourcen.roles/dataplex.dataScanViewer
: Lesezugriff aufDataScan
-Ressourcen ohne Regeln und Ergebnisse.roles/dataplex.dataScanDataViewer
: Lesezugriff aufDataScan
-Ressourcen, einschließlich Regeln und Ergebnissen.
Datenqualitätsscan erstellen
Console
Rufen Sie in der Google Cloud Console die Seite Datenqualität auf.
Klicken Sie auf Datenqualitätsscan erstellen.
Füllen Sie im Fenster Scan definieren die folgenden Felder aus:
Geben Sie einen Anzeigenamen ein.
Die Scan-ID wird automatisch generiert, wenn Sie keine eigene ID angeben. Weitere Informationen finden Sie in der Namenskonvention für Ressourcen.
Optional: Geben Sie eine Beschreibung ein.
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.
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
oderTIMESTAMP
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.
- Wenn Sie Inkrementeller Wert auswählen, wählen Sie im Feld Zeitstempelspalte eine Spalte vom Typ
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.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
.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.
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.
Klicken Sie auf Weiter.
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.
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.
Spalten auswählen: Wählen Sie die Spalten aus, für die Sie empfohlene Regeln erhalten möchten.
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.
Profilergebnisse auswählen: Basierend auf den ausgewählten Spalten und dem ausgewählten Projekt werden mehrere Profilergebnisse angezeigt.
Wählen Sie ein oder mehrere Profilergebnisse aus und klicken Sie auf OK. Dadurch wird eine Liste mit Regeln zur Auswahl angezeigt.
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.
Spalten auswählen: Wählen Sie die Spalten aus, für die Sie Regeln auswählen möchten.
Regeltypen auswählen: Für die ausgewählten Spalten werden mehrere Regeltypen angezeigt.
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.
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:
Wählen Sie unter Dimension eine Dimension aus.
Wählen Sie unter Bestandenwert einen Prozentsatz von Datensätzen aus, die die Prüfung bestehen müssen.
Wählen Sie unter Spaltenname eine Spalte aus.
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:
Wählen Sie unter Dimension eine Dimension aus.
Wählen Sie unter Spaltenname eine Spalte aus.
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.
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.
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 DateiJSON
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äfixgs://
sein. Sie können in dieser Datei zusätzliche Felder angeben, z. B.rules
,rowFilter
odersamplingPercent
. 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`/ |
||
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
- Rufen Sie in der Google Cloud Console die Seite Datenqualität auf. Rufen Sie Dataplex-Datenqualität auf.
- Klicken Sie zum Ausführen auf den Datenqualitätsscan.
- 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 SieFULL
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:
Rufen Sie in der Google Cloud Console die Seite Profil auf.
Klicken Sie auf den Datenqualitätsscan, für den Sie die Ergebnisse freigeben möchten.
Wechseln Sie zum Tab Berechtigungen.
Klicken Sie auf Zugriff erlauben.
Fügen Sie im Feld Neue Hauptkonten das Hauptkonto hinzu, auf das Sie Zugriff gewähren möchten.
Wählen Sie im Feld Rolle auswählen die Option Dataplex DataScan DataViewer aus.
Klicken Sie auf Speichern.
So entfernen Sie den Zugriff auf die veröffentlichten Scanergebnisse für ein Hauptkonto:
Rufen Sie in der Google Cloud Console die Seite Profil auf.
Klicken Sie auf den Datenqualitätsscan, für den Sie die Ergebnisse freigeben möchten.
Wechseln Sie zum Tab Berechtigungen.
Wählen Sie das Hauptkonto aus, für das Sie die Rolle Dataplex DataScan DataViewer entfernen möchten.
Klicken Sie auf Zugriff entfernen.
Klicken Sie auf Bestätigen.
Datenqualitätsscan aktualisieren
Console
Rufen Sie in der Google Cloud Console die Seite Datenqualität auf.
Klicken Sie in der Zeile mit dem zu bearbeitenden Scan auf das Dreipunkt-Menü > Bearbeiten.
Die Werte bearbeiten
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
Rufen Sie in der Google Cloud Console die Seite Datenqualität auf.
Klicken Sie auf den Scan, den Sie löschen möchten.
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
Rufen Sie in der Google Cloud Console Cloud Logging > Log-Explorer auf.
Geben Sie im Fenster Abfrage Ihre Abfrage ein. Siehe Beispielabfragen.
Klicken Sie auf Abfrage ausführen.
Klicken Sie auf Benachrichtigung erstellen. Dadurch wird eine Seitenleiste geöffnet.
Geben Sie den Namen der Benachrichtigungsrichtlinie ein und klicken Sie auf Next (Weiter).
Überprüfen Sie die Abfrage.
Klicken Sie auf die Schaltfläche Vorschau der Protokolle anzeigen, um die Abfrage zu testen. Es werden Logs mit übereinstimmenden Bedingungen angezeigt.
Klicken Sie auf Next (Weiter).
Legen Sie die Zeit zwischen Benachrichtigungen fest und klicken Sie auf Weiter.
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
Rufen Sie in der Google Cloud Console die Seite Datenqualität auf.
Wählen Sie den zu überprüfenden Scan aus, indem Sie auf den Anzeigenamen klicken.
Suchen Sie auf dem Tab Jobs-Verlauf die fehlgeschlagene Scanausführung und klicken Sie auf den Link „Fehler“.
Suchen Sie im angezeigten Jobfenster im Abschnitt Regeln die Spalte Abfrage zum Abrufen fehlgeschlagener Einträge.
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äfixgs://
sein. Sie können die dateispezifischen Felder wierules
,rowFilter
undsamplingPercent
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
- Informationen zur Datenqualität
- Weitere Informationen zur Datenprofilerstellung
- Weitere Informationen zum Verwenden von Datenprofilen