In dieser Anleitung wird erläutert, wie Sie die Knowledge Catalog-Erkennung (ehemals Dataplex Universal Catalog) aktivieren und verwenden. Bei der Erkennung werden Metadaten aus Daten in einem Data Lake gescannt und extrahiert und in Dataproc Metastore, BigQuery und Data Catalog (eingestellt) für Analyse, Suche und Exploration registriert.
Übersicht
Für jedes Knowledge Catalog-Asset, für das die Erkennung aktiviert ist, führt Knowledge Catalog die folgenden Schritte aus:
- Die mit dem Asset verknüpften Daten werden gescannt.
- Strukturierte und semistrukturierte Dateien werden in Tabellen gruppiert.
- Technische Metadaten wie Tabellenname, Schema und Partitionsdefinition werden erfasst.
Bei unstrukturierten Daten wie Bildern und Videos werden mit der Knowledge Catalog-Erkennung automatisch Gruppen von Dateien mit demselben Medientyp als Dateisätze erkannt und registriert. Wenn gs://images/group1 beispielsweise GIF-Bilder und gs://images/group2 JPEG-Bilder enthält, werden mit der Knowledge Catalog-Erkennung zwei Dateisätze erkannt und registriert. Bei strukturierten Daten wie Avro werden Dateien nur erkannt, wenn sie sich in Ordnern mit demselben Datenformat und Schema befinden.
Die erkannten Tabellen und Dateisätze werden in Data Catalog für die Suche und Erkennung registriert. Die Tabellen werden in Dataproc Metastore als Hive-Tabellen und in BigQuery als externe Tabellen angezeigt, sodass die Daten automatisch für die Analyse verfügbar sind.
Die Erkennung unterstützt die folgenden strukturierten und semistrukturierten Datenformate:
- Parquet
- Avro
- ORC
- JSON (nur das durch Zeilenumbruch getrennte Format)
- CSV (CSV-Dateien mit Kommentarzeilen werden nicht unterstützt.)
Die Erkennung unterstützt das folgende Komprimierungsformat für strukturierte und semistrukturierte 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 Erkennung auf Zonen- oder Asset-Ebene deaktivieren.
Wenn Sie eine Zone oder ein Asset erstellen, können Sie die Erkennungseinstellungen auf Zonenebene übernehmen oder die Erkennungseinstellungen auf Asset-Ebene überschreiben.
Die folgenden Optionen für die Erkennungskonfiguration sind auf Zonen- und Asset-Ebene verfügbar:
Erkennung aktivieren und Erkennung deaktivieren
Erkennungszeitplan: 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. Sie können den Erkennungszeitplan auf einen Wert zwischen 60 Minuten und 31 Tagen festlegen.
Ein- oder Ausschlussmuster: Definieren Sie, welche Dateien in Erkennungsscans ein- oder ausgeschlossen werden sollen. Verwenden Sie dazu Glob-Muster im Ein- oder Ausschlussmusterpfad. Wenn Sie beispielsweise
gs://test_bucket/foo/..von der Erkennung ausschließen möchten, geben Sie**/foo/*als Ausschlussmusterpfad ein. Anführungszeichen verursachen Fehler. Geben Sie stattdessen**/foo/*ein.) Diese Funktion ist nur für Cloud Storage-Assets verfügbar."**/foo/*"Wenn gleichzeitig einbeziehende und ausschließende Muster vorhanden sind, werden Ausschlussmuster zuerst angewendet.JSON- oder CSV-Spezifikationen: Hier können Sie zusätzliche Informationen zu semistrukturierten Daten wie CSV und JSON angeben, um die Genauigkeit der Erkennungsergebnisse zu verbessern.
Für CSV-Dateien können Sie Folgendes angeben:
Trennzeichen: In diesem Feld ist ein Zeichen zulässig, außer
\rund\n. Wenn mehr als ein Zeichen angegeben wird, wird nur das erste Zeichen des Strings verwendet. Wenn nichts angegeben ist, verwendet die Erkennung ein Komma als Trennzeichen.Anzahl der Kopfzeilen:In diesem Feld ist der Wert
0oder1zulässig. Der Standardwert ist0. Wenn der Wert0ist, führt die Erkennung eine Header-Inferenz durch. Wenn ein Header erkannt wird, werden die Spaltennamen aus dem Header extrahiert und der Wert wird auf1zurückgesetzt.Codierung:In diesem Feld sind String-Codierungsnamen wie
UTF-8,US-ASCIIoderISO-8859-1zulässig. Wenn nichts angegeben ist, wirdUTF-8als Standard verwendet.Typinferenz deaktivieren:In diesem Feld ist ein boolescher Wert zulässig. 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 sind String-Codierungsnamen wie
UTF-8,US-ASCIIoderISO-8859-1zulässig. Wenn nichts angegeben ist, wirdUTF-8als Standard verwendet.Datentypinferenz deaktivieren:In diesem Feld ist ein boolescher Wert zulässig. Die Standardeinstellung ist
false. Wenn Sie die Typinferenz für JSON-Daten deaktivieren, werden alle Spalten als ihre primitiven Typen (String, Zahl oder boolesch) registriert.
Metadaten veröffentlichen
Wenn Sie in Ihrem Knowledge Catalog-Data Lake eine Datenzone erstellen, erstellt Knowledge Catalog ein BigQuery-Dataset in dem Projekt, das den Data Lake enthält. Knowledge 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 Veröffentlichungs-Dataset für Metadaten bezeichnet, das der Zone entspricht.
Jede Knowledge Catalog-Datenzone wird einer Datenbank in BigQuery oder 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 Dateisätze ansehen
Sie können in der Knowledge Catalog Suchansicht in der Google Cloud Console nach erkannten Tabellen und Dateisätzen suchen.
Für genauere Suchergebnisse verwenden Sie Knowledge Catalog-spezifische Filter wie Data Lake- und Datenzonennamen. In der Filterliste werden die 50 wichtigsten Elemente pro Facette angezeigt. Weitere Elemente finden Sie über das Suchfeld.
Jeder Eintrag enthält detaillierte technische und betriebliche Metadaten.
Auf der Seite mit den Eintragsdetails können Sie die Tabelle in BigQuery abfragen und entsprechende Registrierungsdetails für Dataproc Metastore ansehen.
Wenn eine Cloud Storage-Tabelle als externe Tabelle in BigQuery veröffentlicht werden kann, sehen Sie in der Ansicht mit den Eintragsdetails Folgendes:
- Verweise auf externe BigQuery-Tabellen
- Eine Schaltfläche In BigQuery öffnen , um die Daten in BigQuery zu analysieren
Die Knowledge Catalog-Metadateneinträge 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.
Erkennungsaktionen
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. Beispielsweise sind Dateien mit unterschiedlichen Formaten 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 der Erkennung 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 nicht kompatibel:
A und B haben Felder mit demselben Namen, aber mit unterschiedlichen und inkompatiblen Datentypen. Beispiel: String und Ganzzahl.
A und B haben keine sich überschneidenden Felder.
A und B haben mindestens ein Feld, das nicht null sein darf und das im anderen Schema nicht vorhanden ist.
Schemaabweichung von einem vom Nutzer verwalteten Schema in der kuratierten Zone.
Ungültige Partitionsdefinition
Zu den Aktionen gehören:
Inkonsistente Partitionsbenennung. Beispiel:
gs://sales_data/year=2020/month=10/day=01undgs://sales_data/year=2020/region=us.Partitionsbenennung ohne Hive-Format in der ausgewählten Datenzone. Beispiel:
gs://sales_data/2020/10/01anstelle vongs://sales_data/year=2020/month=10/day=01.
Fehlende Daten
Zu den Aktionen gehören:
- In der ausgewählten Datenzone sind die zugrunde liegenden Daten für eine registrierte Tabelle oder einen registrierten Dateisatz nicht mehr vorhanden. Mit anderen Worten: Eine kuratierte Zone, Tabelle oder ein Dateisatz wurde erkannt und registriert, aber später wurden die zugrunde liegenden Daten gelöscht. Sie können dieses Problem beheben, indem Sie die Daten wiederherstellen oder den Metadateneintrag löschen.
Erkennungsaktionen beheben
Daten mit Aktionen werden bei nachfolgenden Erkennungsscans überprüft. Wenn das Problem behoben ist, das die Aktion ausgelöst hat, wird die Aktion beim nächsten geplanten Erkennungsscan automatisch behoben.
Weitere Erkennungsaktionen
Zusätzlich zu den oben genannten Erkennungsaktionen gibt es drei weitere Arten von Aktionen, die sich auf den Ressourcenstatus und die Weitergabe von Sicherheitsrichtlinien in Knowledge Catalog beziehen.
Fehlende Resself: Der zugrunde liegende Bucket oder das Dataset wurde für ein vorhandenes Asset nicht gefunden.
Nicht autorisierte Ressource: Knowledge Catalog hat nicht die erforderlichen Berechtigungen, um die Erkennung durchzuführen oder Sicherheitsrichtlinien anzuwenden auf den Bucket oder das Dataset, die von Knowledge Catalog verwaltet werden.
Probleme bei der Weitergabe von Sicherheitsrichtlinien: Die für einen bestimmten Data Lake, eine bestimmte Zone oder ein bestimmtes Asset angegebenen Sicherheitsrichtlinien konnten nicht erfolgreich an die zugrunde liegenden Buckets oder Datasets weitergegeben werden. Während alle anderen Aktionen auf Asset-Ebene ausgeführt werden, kann diese Art von Aktion auf Data Lake-, Zonen- und Asset-Ebene ausgelöst werden.
Diese Arten von Aktionen werden automatisch behoben, wenn die zugrunde liegenden Probleme mit der Ressourcen- oder Sicherheitskonfiguration behoben wurden.
FAQ
Was soll ich tun, wenn das von der Erkennung abgeleitete Schema falsch ist?
Wenn sich das abgeleitete Schema von dem erwarteten Schema für eine bestimmte Tabelle unterscheidet, können Sie
das abgeleitete Schema überschreiben, indem Sie die Metadaten mit der
Metadaten-APIaktualisieren.
Stellen Sie sicher, dass Sie
userManaged
auf true setzen, damit Ihre Bearbeitung bei nachfolgenden
Erkennungsscans nicht überschrieben wird.
Wie schließe ich Dateien aus einem Erkennungsscan aus?
Standardmäßig werden bei der Erkennung bestimmte Dateitypen nicht gescannt, darunter:
_SUCCESS_started_committed_metadata,_METADATA,_Metadata_common_metadata,_COMMON_METADATA- Dateien, die mit
READMEoderreadmebeginnen - Verzeichnisse, die mit
base_,delta_,delete_delta_,bucket_, gefolgt von einer Zahl - Verzeichnisse, die mit
.beginnen
Sie können zusätzliche Ein- oder Ausschlussmuster angeben, indem Sie die Erkennungskonfiguration auf Zonen- oder Asset-Ebene verwenden oder die Metadaten-API nutzen.
Was soll ich tun, wenn die von der Erkennung erkannte Tabellengruppierung zu detailliert ist?
Wenn die von der Erkennung erkannten Tabellen detaillierter sind als der Tabellenstammpfad, z. B. wenn 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 Tabellenstammpfad, die die Tabelle in kleinere Gruppierungen aufteilen.
Es gibt verschiedene Arten von Schema-Inkompatibilitäten im erwarteten Tabellenstammpfad, die die Tabelle in kleinere Gruppierungen aufteilen.
Sie haben zwei Möglichkeiten, dieses Problem zu beheben:
Beheben Sie Format- oder Schemaunterschiede, damit alle Dateien im selben Tabellenstammpfad ein einheitliches Format und ein kompatibles Schema haben.
Schließen Sie heterogene Dateien aus, indem Sie die Ausschlussmusterkonfiguration als Teil der Zonen-/Asset-Konfiguration oder der Metadaten-API verwenden.
Nachdem Sie eine der Korrekturmaßnahmen ergriffen haben, geschieht 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 Tabellenstammpfad erstellt.
Wie gebe ich Tabellennamen an?
Sie können Tabellennamen mit der Metadaten-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 Knowledge Catalog-Erkennung deaktivieren. Alternativ können Sie so vorgehen:
- Erstellen Sie eine Tabelle indem Sie nur die erforderlichen Informationen wie den Tabellenstammpfad angeben.
- Verwenden Sie die Knowledge Catalog-Erkennung, um die restlichen Metadaten wie Schema- und Partitionsdefinitionen zu erfassen.
- Halten Sie die Metadaten auf dem neuesten Stand.
Was soll ich tun, wenn meine Tabelle nicht in BigQuery angezeigt wird?
Während Knowledge Catalog-Metadaten alle zentral in der Metadaten-API registriert werden, werden nur Cloud Storage-Tabellen, die mit BigQuery kompatibel sind, als externe Tabellen in BigQuery veröffentlicht. In den Details des Tabelleneintrags in der Metadaten-API, finden Sie eine Markierung für die BigQuery-Kompatibilität, die angibt, welche Entitäten in BigQuery veröffentlicht werden und warum.
Beschränkungen
- Externe Tabellen werden von der Erkennung nicht unterstützt. Externe Tabellen werden jedoch automatisch in Knowledge Catalog aufgenommen und Sie können stattdessen in Knowledge Catalog nach ihnen suchen.
Preise
Für die Knowledge Catalog-Erkennung werden im Rahmen des Standardverarbeitungstarifs Gebühren erhoben. Weitere Informationen finden Sie unter Preise für die Standardverarbeitung von Knowledge Catalog.
Nächste Schritte
- Informationen zum Arbeiten mit Metadaten