Daten erkennen

In dieser Anleitung wird erläutert, wie Sie die Discovery-Funktion von Knowledge Catalog (früher Dataplex Universal Catalog) aktivieren und verwenden. Discovery scannt und extrahiert Metadaten aus Daten in einem Data Lake und registriert sie in Dataproc Metastore, BigQuery und Data Catalog (eingestellt) für Analyse, Suche und Exploration.

Übersicht

Für jedes Knowledge Catalog-Asset, für das Discovery aktiviert ist, führt Knowledge Catalog folgende 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 erkennt und registriert Knowledge Catalog Discovery automatisch Gruppen von Dateien mit demselben Medientyp als Dateisätze. Wenn gs://images/group1 beispielsweise GIF-Bilder und gs://images/group2 JPEG-Bilder enthält, erkennt und registriert Knowledge Catalog Discovery zwei Dateisätze. Bei strukturierten Daten wie Avro erkennt Discovery Dateien nur, wenn sie sich in Ordnern mit demselben Datenformat und Schema befinden.

Die erkannten Tabellen und Dateisätze werden in Data Catalog für 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.

Discovery unterstützt die folgenden strukturierten und halbstrukturierten Datenformate:

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

Discovery ist standardmäßig aktiviert, wenn Sie eine neue Zone oder ein neues Asset erstellen. Sie können Discovery auf Zonen- oder Asset-Ebene deaktivieren.

Wenn Sie eine Zone oder ein Asset erstellen, können Sie die Discovery-Einstellungen auf Zonenebene übernehmen oder die Discovery-Einstellungen auf Asset-Ebene überschreiben.

Die folgenden Konfigurationsoptionen für Discovery sind auf Zonen- und Asset-Ebene verfügbar:

  • Discovery aktivieren und Discovery deaktivieren

  • Discovery-Zeitplan: 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 Discovery-Zeitplan auf einen Wert zwischen 60 Minuten und 31 Tagen festlegen.

  • Muster für Ein- und Ausschluss: Definieren Sie, welche Dateien in Discovery-Scans einbezogen oder ausgeschlossen werden sollen. Verwenden Sie dazu Glob-Muster im Pfad für Ein- oder Ausschluss. Wenn Sie beispielsweise gs://test_bucket/foo/.. von der Erkennung ausschließen möchten, geben Sie **/foo/* als Ausschluss-Pfad ein. Anführungszeichen verursachen Fehler. Geben Sie **/foo/* anstelle von "**/foo/*" ein. Diese Funktion ist nur für Cloud Storage-Assets verfügbar. 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 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 diesem Feld ist ein Zeichen zulässig, außer \r und \n. Wenn mehr als ein Zeichen angegeben wird, wird nur das erste Zeichen des Strings verwendet. Wenn nichts angegeben ist, verwendet Discovery ein Komma als Trennzeichen.

      • Anzahl der Kopfzeilen:In diesem Feld ist der Wert 0 oder 1 zulässig. Der Standardwert ist 0. Wenn der Wert 0 ist, führt Discovery eine Header-Inferenz durch. Wenn ein Header erkannt wird, extrahiert Discovery die Spaltennamen aus dem Header und setzt den Wert auf 1 zurück.

      • Codierung:In diesem Feld sind String-Codierungsnamen wie UTF-8, US-ASCII oder ISO-8859-1 zulässig. Wenn nichts angegeben ist, wird UTF-8 als 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-ASCII oder ISO-8859-1 zulässig. Wenn nichts angegeben ist, wird UTF-8 als 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 boolescher Wert) registriert.

Discovery-Job abbrechen

Wenn ein Discovery-Job länger als erwartet dauert, können Sie ihn abbrechen. Dies ist ein bestmöglicher Versuch. Wenn sich der Job bereits in einem Endzustand befindet (z. B. SUCCEEDED oder FAILED), wird die Abbruchanfrage ignoriert.

Erforderliche Rollen und Berechtigungen

Bitten Sie Ihren Administrator, Ihnen in Ihrem Projekt die IAM-Rolle Dataplex-Bearbeiter (roles/dataplex.editor) oder Dataplex DataScan-Administrator (roles/dataplex.dataScanAdmin) zuzuweisen, um Ihnen so die Berechtigungen zu erteilen, die Sie zum Abbrechen eines Discovery-Jobs benötigen.

Job abbrechen

Sie können einen laufenden oder ausstehenden Discovery-Job mit der Google Cloud Console oder der REST API abbrechen.

Console

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

    Zu Discover

  2. Klicken Sie auf den Namen des Discovery-Scans, der den Job enthält, den Sie abbrechen möchten.

  3. Suchen Sie auf dem Tab Jobverlauf den Job mit dem Status Wird ausgeführt oder Ausstehend.

  4. Klicken Sie auf die Schaltfläche Abbrechen für den Job.

REST

Verwenden Sie die projects.locations.dataScans.jobs.cancel Methode.

POST https://dataplex.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/dataScans/DATASCAN_ID/jobs/JOB_ID:cancel

Ersetzen Sie Folgendes:

  • PROJECT_ID: Projekt-ID.
  • LOCATION: Region, in der sich der Datenscan befindet.
  • DATASCAN_ID: ID des Datenscans.
  • JOB_ID: ID des Jobs, der abgebrochen werden soll.

Metadaten veröffentlichen

Wenn Sie in Ihrem Knowledge Catalog-Lake eine Datenzone erstellen, erstellt Knowledge Catalog ein BigQuery-Dataset im Projekt, das den 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 einem Dataset in BigQuery oder einer Datenbank in Dataproc Metastore zugeordnet, in dem Metadaten automatisch verfügbar gemacht werden.

Sie können automatisch erkannte Metadaten, wie Tabellennamen oder Schemas, mit der Dataplex API bearbeiten.

Erkannte Tabellen und Dateisätze ansehen

Sie können in der Ansicht Suche von Knowledge Catalog in der Google Cloud Console nach erkannten Tabellen und Dateisätzen suchen.

Suche öffnen

Verwenden Sie Knowledge Catalog-spezifische Filter wie Lake- und Datenzonennamen, um genauere Suchergebnisse zu erhalten. 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.

Discovery-Aktionen

Discovery löst die folgenden Administratoraktionen aus, 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 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 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=01 und gs://sales_data/year=2020/region=us.

  • Partitionsbenennung ohne Hive-Format in der ausgewählten Datenzone. Beispiel: gs://sales_data/2020/10/01 anstelle von gs://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.

Discovery-Aktionen beheben

Daten mit Aktionen werden bei nachfolgenden Discovery-Scans überprüft. Wenn das Problem, das die Aktion ausgelöst hat, behoben ist, wird die Aktion beim nächsten geplanten Discovery-Scan automatisch behoben.

Weitere Discovery-Aktionen

Neben den oben genannten Discovery-Aktionen 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 Discovery auszuführen oder Sicherheitsrichtlinien auf den Bucket oder das Dataset anzuwenden, die von Knowledge Catalog verwaltet werden.

  • Probleme bei der Weitergabe von Sicherheitsrichtlinien: Die für einen bestimmten 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 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 sind.

FAQ

Was soll ich tun, wenn das von Discovery abgeleitete Schema falsch ist?

Wenn sich das abgeleitete Schema von dem für eine bestimmte Tabelle erwarteten Schema unterscheidet, können Sie das abgeleitete Schema überschreiben, indem Sie die Metadaten mit der Metadaten-API aktualisieren. Stellen Sie sicher, dass Sie userManaged auf true setzen, damit Ihre Änderung bei nachfolgenden Discovery-Scans nicht überschrieben wird.

Wie schließe ich Dateien aus einem Discovery-Scan aus?

Standardmäßig schließt Discovery bestimmte Dateitypen aus dem Scan aus, darunter:

  • _SUCCESS
  • _started
  • _committed
  • _metadata, _METADATA, _Metadata
  • _common_metadata, _COMMON_METADATA
  • Dateien, die mit README oder readme beginnen
  • Verzeichnisse, die mit base_, delta_, delete_delta_, bucket_, gefolgt von einer Zahl
  • Verzeichnisse, die mit . beginnen

Sie können zusätzliche Muster für Ein- oder Ausschluss angeben, indem Sie die Discovery-Konfiguration auf Zonen- oder Asset-Ebene oder die Metadaten-API verwenden.

Was soll ich tun, wenn die von Discovery erkannte Tabellengruppierung zu detailliert ist?

Wenn die von Discovery 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 mit der Konfiguration für Ausschlussmuster als Teil der Zonen-/Asset-Konfiguration oder der Metadaten-API aus.

Nachdem Sie eine der Korrekturmaßnahmen ergriffen haben, geschieht beim nächsten Discovery-Scan 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 Discovery 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 Knowledge Catalog Discovery deaktivieren. Alternativ können Sie so vorgehen:

  1. Erstellen Sie eine Tabelle indem Sie nur die erforderlichen Informationen wie den Tabellenstammpfad angeben.
  2. Verwenden Sie Knowledge Catalog Discovery, um die restlichen Metadaten wie Schema- und Partitionsdefinitionen zu erfassen.
  3. Halten Sie die Metadaten auf dem neuesten Stand.

Was soll ich tun, wenn meine Tabelle nicht in BigQuery angezeigt wird?

Während alle Knowledge Catalog-Metadaten 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 Discovery 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 Discovery werden in Knowledge Catalog Gebühren im Rahmen der Standardverarbeitungsstufe erhoben. Weitere Informationen finden Sie unter Preise für die Standardverarbeitung von Knowledge Catalog.

Nächste Schritte