In diesem Leitfaden wird beschrieben, wie Sie die Dataplex Universal Catalog-Erkennung aktivieren und verwenden. Bei Discovery werden Metadaten aus Daten in einem Data Lake gescannt und extrahiert und für die Analyse, Suche und Exploration in Dataproc Metastore, BigQuery und Data Catalog (eingestellt) registriert.
Weitere Informationen dazu, wie Sie mit der automatischen Erkennung Cloud Storage-Daten, die nicht an einen Lake angehängt sind, extrahieren und katalogisieren können, finden Sie unter Cloud Storage-Daten ermitteln und katalogisieren.
Übersicht
Für jedes Dataplex Universal Catalog-Asset, für das die Ermittlung aktiviert ist, führt Dataplex Universal Catalog die folgenden Schritte aus:
- Scannt die mit dem Asset verknüpften Daten.
- Gruppiert strukturierte und halbstrukturierte Dateien in Tabellen.
- Erfasst technische Metadaten wie Tabellennamen, Schema und Partitionsdefinition.
Bei unstrukturierten Daten wie Bildern und Videos werden Gruppen von Dateien mit demselben Medientyp automatisch als Filesets erkannt und registriert. Wenn gs://images/group1
beispielsweise GIF-Bilder und gs://images/group2
JPEG-Bilder enthält, werden durch die Dataplex Universal Catalog Discovery zwei Filesets erkannt und registriert. Bei strukturierten Daten wie Avro erkennt Discovery Dateien nur, wenn sie sich in Ordnern mit demselben Datenformat und Schema befinden.
Die ermittelten Tabellen und Filesets werden in Data Catalog für die Suche und Ermittlung registriert. Die Tabellen werden in Dataproc Metastore als Hive-Tabellen und in BigQuery als externe Tabellen angezeigt, sodass Daten automatisch für die Analyse verfügbar gemacht werden.
Discovery unterstützt die folgenden Formate für strukturierte und semistrukturierte Daten:
- Parquet
- Avro
- ORC
- JSON (nur das durch Zeilenumbruch getrennte Format)
- CSV (CSV-Dateien mit Kommentarzeilen werden nicht unterstützt.)
Discovery unterstützt das folgende Komprimierungsformat für strukturierte und halbstrukturierte Daten:
Interne Komprimierung für diese Formate:
Komprimierung Beispiel für Dateiendung Unterstütztes Format GZIP .gz.parquet Parquet LZ4 .lz4.parquet Parquet Snappy .snappy.parquet Parquet, ORC, Avro lzo .lzo.parquet Parquet, ORC Externe Komprimierung für JSON- und CSV-Dateien:
- GZIP
- bzip2
Erkennungskonfiguration
Die Erkennung ist standardmäßig aktiviert, wenn Sie eine neue Zone oder ein neues Asset erstellen. Sie können die Discovery-Funktion auf Zonen- oder Asset-Ebene deaktivieren.
Wenn Sie eine Zone oder ein Asset erstellen, können Sie die Erkennungseinstellungen auf Zonenebene übernehmen oder auf Asset-Ebene überschreiben.
Folgende Konfigurationsoptionen für die Erkennung sind auf Zonen- und Asset-Ebene verfügbar:
Erkennung aktiviert und deaktiviert
Discovery schedule (Zeitplan für die Ermittlung): Diese Option kann auf einen vordefinierten Zeitplan (z. B. stündlich oder täglich) oder einen benutzerdefinierten Zeitplan im Cron-Format festgelegt werden. Neue Assets werden gescannt, wenn sie hinzugefügt werden. Weitere Informationen finden Sie unter Cron-Zeitpläne konfigurieren. Empfehlung: Planen Sie die Ausführung von Discovery-Kampagnen mindestens einmal pro Stunde.
Ein- oder Ausschlussmuster: Legen Sie mithilfe von Glob-Mustern im Ein- oder Ausschlussmusterpfad fest, welche Dateien in Discovery-Scans ein- oder ausgeschlossen werden sollen. Wenn Sie beispielsweise
gs://test_bucket/foo/..
aus der Suche ausschließen möchten, geben Sie**/foo/*
als Ausschluss-Pfad ein. Anführungszeichen verursachen Fehler. Achten Sie darauf, dass Sie**/foo/*
anstelle von"**/foo/*"
eingeben.) Diese Funktion ist nur für Cloud Storage-Assets verfügbar. Wenn gleichzeitig Ein- und Ausschlussmuster vorhanden sind, werden Ausschlussmuster zuerst angewendet.JSON- oder CSV-Spezifikationen: Hier können Sie zusätzliche Informationen zu halbstrukturierten Daten wie CSV und JSON angeben, um die Genauigkeit der Discovery-Ergebnisse zu verbessern.
Für CSV-Dateien können Sie Folgendes angeben:
Trennzeichen: In dieses Feld kann ein Zeichen eingegeben werden, mit Ausnahme von
\r
und\n
. Wenn mehr als ein Zeichen angegeben wird, wird nur das erste Zeichen des Strings verwendet. Wenn nicht angegeben, verwendet Discovery ein Komma als Trennzeichen.Anzahl der Kopfzeilen:In dieses Feld kann der Wert
0
oder1
eingegeben werden. Der Standardwert ist0
. Wenn der Wert0
ist, führt Discovery eine Header-Inferenz durch. Wenn ein Header erkannt wird, werden Spaltennamen aus dem Header extrahiert und der Wert wird auf1
zurückgesetzt.Codierung:In diesem Feld werden Namen für die Stringcodierung akzeptiert, z. B.
UTF-8
,US-ASCII
oderISO-8859-1
. Wenn nichts angegeben ist, wird standardmäßigUTF-8
verwendet.Typinferenz deaktivieren:Dieses Feld akzeptiert einen booleschen Wert. Die Standardeinstellung ist
false
. Wenn Sie die Typinferenz für CSV-Daten deaktivieren, werden alle Spalten als Strings registriert.
Für JSON-Dateien können Sie Folgendes angeben:
Codierung:In diesem Feld werden Namen für die Stringcodierung akzeptiert, z. B.
UTF-8
,US-ASCII
oderISO-8859-1
. Wenn nichts angegeben ist, wird standardmäßigUTF-8
verwendet.Schlussfolgerung des Datentyps deaktivieren:In diesem Feld kann ein boolescher Wert angegeben werden. Die Standardeinstellung ist
false
. Wenn Sie die Typrückschlüsse für JSON-Daten deaktivieren, werden alle Spalten als ihre einfachen Typen (String, Zahl oder boolescher Wert) registriert.
Metadaten veröffentlichen
Wenn Sie eine Datenzone in Ihrem Dataplex Universal Catalog-Lake erstellen, wird in Dataplex Universal Catalog ein BigQuery-Dataset im Projekt mit dem Lake erstellt. Dataplex Universal Catalog veröffentlicht Tabellen in diesem Dataset für Tabellen, die in den Cloud Storage-Buckets gefunden wurden, die der Datenzone als Assets hinzugefügt wurden. Das Dataset wird als Metadaten-Veröffentlichungs-Dataset bezeichnet, das der Zone entspricht.
Jede Dataplex Universal Catalog-Datenzone wird einem Dataset in BigQuery oder einer Datenbank in Dataproc Metastore zugeordnet, in der Metadaten automatisch verfügbar gemacht werden.
Sie können automatisch erkannte Metadaten wie Tabellenname oder Schema mit der Dataplex API bearbeiten.
Erkannte Tabellen und Dateigruppen ansehen
Sie können in der Google Cloud -Konsole in der Ansicht Suche des Dataplex Universal Catalog nach erkannten Tabellen und Filesets suchen.
Verwenden Sie für genauere Suchergebnisse Dataplex Universal Catalog-spezifische Filter wie Lake- und Datenzonennamen. Die 50 wichtigsten Elemente pro Attribut werden in der Filterliste angezeigt. Über das Suchfeld können Sie nach weiteren Elementen suchen.
Jeder Eintrag enthält detaillierte technische und operative Metadaten.
Auf der Seite mit den Eintragsdetails können Sie die Tabelle in BigQuery abfragen und die entsprechenden Registrierungsdetails für Dataproc Metastore ansehen.
Wenn eine Cloud Storage-Tabelle als externe Tabelle in BigQuery veröffentlicht werden kann, sehen Sie in der Detailansicht des Eintrags Folgendes:
- Verweise auf externe BigQuery-Tabellen
- Eine Schaltfläche zum Öffnen in BigQuery, um mit der Analyse der Daten in BigQuery zu beginnen
Die Metadateneinträge von Dataplex Universal Catalog sind in Data Catalog direkt sichtbar und durchsuchbar. Weitere Informationen finden Sie in der Data Catalog-Suchreferenz.
Alle erkannten Einträge können über die Dataplex API aufgerufen werden.
Aktionen zum Entdecken von Inhalten
Bei der Erkennung werden die folgenden Administratoraktionen ausgelöst, wenn bei Scans datenbezogene Probleme erkannt werden.
Ungültiges Datenformat
Zu den Aktionen gehören:
Inkonsistentes Datenformat in einer Tabelle. Beispiel: Dateien mit unterschiedlichen Formaten sind mit demselben Tabellenpräfix vorhanden.
Ungültiges Datenformat in ausgewählten Zonen (Daten nicht im Avro-, Parquet- oder ORC-Format).
Inkompatibles Schema
Zu den Aktionen gehören:
Ein von Discovery erkanntes Schema ist nicht mit dem aktiven Tabellenschema in der Metadaten-API in Dataproc Metastore kompatibel. Schema A und Schema B sind in den folgenden Szenarien inkompatibel:
A und B haben Felder mit demselben Namen, aber mit unterschiedlichen und inkompatiblen Datentypen. Beispiele: String und Ganzzahl.
A und B haben keine sich überschneidenden Felder.
A und B haben mindestens ein Feld, das nicht null sein darf und im jeweils anderen Schema nicht gefunden wurde.
Schemaabweichung von einem nutzerverwalteten Schema in der kuratierten Zone.
Ungültige Partitionsdefinition
Zu den Aktionen gehören:
Inkonsistente Partitionsbenennung. Beispiel:
gs://sales_data/year=2020/month=10/day=01
undgs://sales_data/year=2020/region=us
.Partitionsbenennung ohne Hive-Format in der ausgewählten Datenzone. Beispiel:
gs://sales_data/2020/10/01
stattgs://sales_data/year=2020/month=10/day=01
.
Fehlende Daten
Zu den Aktionen gehören:
- In der Zone für kuratierte Daten sind die zugrunde liegenden Daten für eine registrierte Tabelle oder einen registrierten Fileset nicht mehr vorhanden. Das bedeutet, dass eine kuratierte Zonentabelle oder ein Fileset erkannt und registriert wurde, die zugrunde liegenden Daten jedoch später gelöscht wurden. Sie können dieses Problem beheben, indem Sie die Daten auffüllen oder den Metadateneintrag löschen.
Discovery-Aktionen ausführen
Daten mit Aktionen werden durch nachfolgende Erkennungsscans geprüft. Wenn das Problem, das die Aktion ausgelöst hat, behoben ist, wird die Aktion automatisch beim nächsten geplanten Discovery-Scan behoben.
Andere Discovery-Aktionen
Zusätzlich zu den oben genannten Discovery-Aktionen gibt es drei weitere Arten von Aktionen, die sich auf die Weitergabe von Ressourcenstatus und Sicherheitsrichtlinien in Dataplex Universal Catalog beziehen.
Fehlende Ressource: Der zugrunde liegende Bucket oder das zugrunde liegende Dataset für ein vorhandenes Asset wurde nicht gefunden.
Nicht autorisierte Ressource: Dataplex Universal Catalog hat nicht die erforderlichen Berechtigungen, um die Ermittlung durchzuführen oder Sicherheitsrichtlinien auf den Bucket oder das Dataset anzuwenden, die von Dataplex Universal Catalog verwaltet werden.
Probleme bei der Weitergabe von Sicherheitsrichtlinien: Für einen bestimmten Lake, eine bestimmte Zone oder ein bestimmtes Asset angegebene Sicherheitsrichtlinien konnten nicht erfolgreich an die zugrunde liegenden Buckets oder Datasets weitergegeben werden. Während alle anderen Aktionen auf Asset-Ebene erfolgen, kann diese Art von Aktion auf Lake-, Zonen- und Asset-Ebene ausgelöst werden.
Diese Arten von Aktionen werden automatisch behoben, wenn die zugrunde liegenden Probleme mit der Ressource oder der Sicherheitskonfiguration behoben werden.
FAQ
Was kann ich tun, wenn das von Discovery abgeleitete Schema falsch ist?
Wenn sich das abgeleitete Schema von dem unterscheidet, was für eine bestimmte Tabelle erwartet wird, können Sie das abgeleitete Schema überschreiben, indem Sie Metadaten mit der Metadata API aktualisieren.
Legen Sie userManaged
auf true
fest, damit Ihre Änderung bei nachfolgenden Discovery-Scans nicht überschrieben wird.
Wie schließe ich Dateien von einem Discovery-Scan aus?
Standardmäßig werden bestimmte Dateitypen nicht gescannt, darunter:
_SUCCESS
_started
_committed
_metadata
,_METADATA
,_Metadata
_common_metadata
,_COMMON_METADATA
- Dateien, die mit
README
oderreadme
beginnen - Verzeichnisse, die mit
base_
,delta_
,delete_delta_
,bucket_
beginnen und auf die eine Zahl folgt - Verzeichnisse, die mit
.
beginnen
Sie können zusätzliche Ein- oder Ausschlussmuster mit der Discovery-Konfiguration auf Zonen- oder Asset-Ebene oder mit der Metadata API angeben.
Was soll ich tun, wenn die von Discovery erkannte Tabellengruppierung zu detailliert ist?
Wenn die von Discovery erkannten Tabellen auf einer detaillierteren Ebene als der Tabellenstamm-Pfad liegen, z. B. jede einzelne Partition als Tabelle registriert ist, kann das mehrere Gründe haben:
Es gibt Formatunterschiede, z. B. eine Mischung aus Avro- und Parquet-Dateien, im erwarteten Tabellenstammverzeichnis, die die Tabelle in kleinere Gruppen aufteilen.
Es gibt verschiedene Arten von Schemainkompatibilitäten im erwarteten Tabellenstammverzeichnis, die die Tabelle in kleinere Gruppen aufteilen.
Sie haben zwei Möglichkeiten, dieses Problem zu beheben:
Beheben Sie Format- oder Schemaunterschiede, damit alle Dateien im selben Tabellenstammverzeichnispfad ein einheitliches Format und ein kompatibles Schema haben.
Schließen Sie heterogene Dateien aus, indem Sie das Ausschlussmuster als Teil der Zonen-/Asset-Konfiguration oder der Metadaten-API konfigurieren.
Nachdem Sie einen der Korrekturschritte ausgeführt haben, passiert beim nächsten Erkennungsscan Folgendes:
- Die vorhandenen Tabellen auf niedrigerer Ebene werden automatisch aus der Dataplex API, BigQuery, Dataproc Metastore und Data Catalog entfernt.
- Stattdessen wird eine neue Tabelle auf höherer Ebene mit dem erwarteten Tabellenstamm erstellt.
Wie gebe ich Tabellennamen an?
Sie können Tabellennamen mit der Metadata API angeben.
Was passiert, wenn ich Tabellen manuell in Dataproc Metastore oder BigQuery erstelle?
Wenn die Erkennung für ein bestimmtes Asset aktiviert ist, müssen Sie Einträge nicht manuell in Dataproc Metastore oder BigQuery registrieren.
Sie können Tabellennamen, Schema und Partitionsdefinitionen manuell definieren und gleichzeitig die Dataplex Universal Catalog-Erkennung deaktivieren. Alternativ können Sie so vorgehen:
- Tabelle erstellen, indem Sie nur die erforderlichen Informationen wie den Tabellenstamm angeben.
- Verwenden Sie Dataplex Universal Catalog Discovery, um die restlichen Metadaten wie Schema- und Partitionsdefinitionen zu erfassen.
- Halten Sie die Metadaten auf dem neuesten Stand.
Was kann ich tun, wenn meine Tabelle nicht in BigQuery angezeigt wird?
Die Metadaten des Dataplex Universal Catalog werden alle zentral in der Metadaten-API registriert. Allerdings werden nur Cloud Storage-Tabellen, die mit BigQuery kompatibel sind, als externe Tabellen in BigQuery veröffentlicht. Im Rahmen der Tabelleneintragsdetails in der Metadata API finden Sie eine Markierung für die BigQuery-Kompatibilität, die angibt, welche Einheiten in BigQuery veröffentlicht werden und warum.
Beschränkungen
- Externe Tabellen, einschließlich externer BigLake-Tabellen, werden von Discovery nicht unterstützt. Externe Tabellen werden jedoch automatisch in Dataplex Universal Catalog aufgenommen und Sie können stattdessen in Dataplex Universal Catalog nach ihnen suchen.