Daten erkennen

In dieser Anleitung wird erläutert, wie Sie Dataplex Discovery aktivieren und verwenden. Discovery scannt und extrahiert Metadaten aus Daten in einem Data Lake und registriert sie in Dataproc Metastore, BigQuery und Data Catalog für die Analyse, Suche und Erkundung.

Überblick

Für jedes Dataplex-Asset mit aktivierter Erkennung führt Dataplex folgende Schritte aus:

  • Scannt die mit dem Asset verknüpften Daten.
  • Gruppiert strukturierte und semistrukturierte Dateien in Tabellen.
  • Erfasst technische Metadaten wie Tabellenname, Schema und Partitionsdefinition.

Bei unstrukturierten Daten wie Bildern und Videos erkennt Dataplex Discovery automatisch Gruppen von Dateifreigaben mit Medientypen und registriert sie als Dateisätze. Wenn beispielsweise gs://images/group1 GIF-Bilder und gs://images/group2 JPEG-Bilder enthält, erkennt Dataplex Discovery zwei Dateisätze und registriert sie. Bei strukturierten Daten wie Avro erkennt Discovery Dateien nur dann, wenn sie sich in Ordnern befinden, die dasselbe Datenformat und Schema enthalten.

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 Daten automatisch für Analysen zur Verfügung gestellt werden.

Discovery unterstützt die folgenden strukturierten und semistrukturierten Datenformate:

Discovery unterstützt das folgende Komprimierungsformat für strukturierte und semistrukturierte Daten:

  • Interne Komprimierung für folgende 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, USA
  • 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 Discovery-Einstellungen auf Zonenebene übernehmen oder Erkennungseinstellungen auf Asset-Ebene überschreiben.

Folgende Konfigurationsoptionen für die Erkennung sind auf Zonen- und Asset-Ebene verfügbar:

  • Erkennung aktiviert und deaktiviert:

  • Zeitplan für die Erkennung: Diese Option kann auf einen vordefinierten Zeitplan (z. B. stündlich oder täglich) oder auf einen benutzerdefinierten Zeitplan festgelegt werden, der durch das Cron-Format definiert ist. Neue Assets werden beim Hinzufügen gescannt. Weitere Informationen finden Sie unter Cronjobs konfigurieren. Empfohlen: Planen Sie die Erkennung so, dass sie stündlich oder seltener ausgeführt wird.

  • Ein- oder Ausschlussmuster: Definieren Sie mithilfe von glob-Mustern im Ein- oder Ausschlusspfad, welche Dateien bei Discovery-Scans ein- oder ausgeschlossen werden sollen. Wenn Sie beispielsweise gs://test_bucket/foo/.. von der Erkennung ausschließen möchten, geben Sie **/foo/* als Ausschlusspfad ein. Anführungszeichen verursachen Fehler. Achten Sie darauf, **/foo/* anstelle von "**/foo/*" einzugeben.) Diese Funktion ist nur für Cloud Storage-Assets verfügbar. Wenn gleichzeitig einschließende und ausschließende Muster vorhanden sind, werden Ausschlussmuster zuerst angewendet.

  • JSON- oder CSV-Spezifikationen: Geben Sie zusätzliche Informationen zu semistrukturierten Daten wie CSV und JSON an, um die Genauigkeit von Discovery-Ergebnissen zu verbessern.

    • Für CSV-Dateien können Sie folgende Daten angeben:

      • Trennzeichen: In diesem Feld kann ein Zeichen eingegeben werden, außer \r und \n. Wenn mehr als ein Zeichen angegeben ist, wird nur das erste Zeichen des Strings verwendet. Wenn nicht angegeben, verwendet Discovery ein Komma als Trennzeichen.

      • Anzahl der Kopfzeilen: In dieses Feld können die Werte 0 und 1 eingegeben werden. Der Standardwert ist 0. Wenn der Wert 0 ist, führt Discovery eine Headerinferenz durch. Wenn ein Header erkannt wird, extrahiert Discovery Spaltennamen aus dem Header und setzt den Wert auf 1 zurück.

      • Codierung: Dieses Feld akzeptiert Stringcodierungsnamen, z. B. UTF-8, US-ASCII oder ISO-8859-1. Wenn nichts angegeben ist, wird UTF-8 als Standard verwendet.

      • Typinferenz deaktivieren:In dieses Feld kann ein boolescher Wert eingegeben werden. Die Standardeinstellung ist false. Wenn Sie bei CSV-Daten die Typinferenz deaktivieren, werden alle Spalten als Strings registriert.

    • Für JSON-Dateien können Sie Folgendes angeben:

      • Codierung: Dieses Feld akzeptiert Stringcodierungsnamen, z. B. UTF-8, US-ASCII oder ISO-8859-1. Wenn nichts angegeben ist, wird UTF-8 als Standard verwendet.

      • Datentypinferenz deaktivieren:In dieses Feld kann ein boolescher Wert eingegeben werden. Die Standardeinstellung ist false. Wenn Sie für JSON-Daten die Typinferenz deaktivieren, werden alle Spalten als primitive Typen (String, Zahl oder boolesch) registriert.

Metadaten veröffentlichen

Wenn Sie eine Datenzone im Dataplex-Lake erstellen, erstellt Dataplex ein BigQuery-Dataset in dem Projekt, das den Lake enthält. Dataplex veröffentlicht in diesem Dataset Tabellen für Tabellen, die in den Cloud Storage-Buckets erkannt wurden, die der Datenzone als Assets hinzugefügt wurden. Das Dataset wird als Veröffentlichungs-Dataset für Metadaten für die Zone bezeichnet.

Jede Dataplex-Datenzone ist einem Dataset in BigQuery oder einer Datenbank in Dataproc Metastore zugeordnet, in der Metadateninformationen automatisch zur Verfügung gestellt werden.

Mit der Dataplex Metadata API können Sie automatisch erkannte Metadaten wie den Tabellennamen oder das Schema bearbeiten.

Erkannte Tabellen und Dateisätze ansehen

Sie können in der Dataplex-Ansicht Search in der Google Cloud Console nach erkannten Tabellen und Dateisätzen suchen.

Suche öffnen

Verwenden Sie Dataplex-spezifische Filter wie Lake- und Datenzonennamen, um genauere Suchergebnisse zu erhalten. In der Filterliste werden die ersten 50 Elemente pro Attribut angezeigt. Zusätzliche Elemente können Sie über das Suchfeld finden.

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 anzeigen.

Wenn eine Cloud Storage-Tabelle als externe Tabelle in BigQuery veröffentlicht werden kann, wird in der Ansicht mit den Eintragsdetails Folgendes angezeigt:

  • Verweise auf externe BigQuery-Tabellen
  • Schaltfläche In BigQuery öffnen, um mit der Analyse der Daten in BigQuery zu beginnen

Die Dataplex-Metadateneinträge sind in Data Catalog direkt sichtbar und suchbar. Weitere Informationen finden Sie in der Referenz zur Data Catalog-Suche.

Alle erkannten Einträge können über die Dataplex Metadata API angezeigt werden.

Erkennungsaktionen

Die Erkennung löst die folgenden Administratoraktionen aus, wenn datenbezogene Probleme während Scans erkannt werden.

Ungültiges Datenformat

Zu den Aktionen gehören:

  • Uneinheitliches Datenformat in einer Tabelle. Dateien unterschiedlicher Formate haben beispielsweise dasselbe Tabellenpräfix.

  • Ungültiges Datenformat in kuratierten 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 folgenden Fällen nicht kompatibel:

    • Felder von A und B haben denselben Namen, aber unterschiedliche und inkompatible Datentypen. Beispiel: String und Ganzzahl.

    • Die Felder A und B dürfen sich nicht überschneiden.

    • A und B haben mindestens ein Feld, das keine Nullwerte zulässt, das im anderen Schema nicht gefunden wird.

  • Schemaabweichung bei einem vom Nutzer verwalteten Schema in der ausgewählten Zone.

Ungültige Partitionsdefinition

Zu den Aktionen gehören:

  • Uneinheitliche Partitionsbenennung. Beispiel: gs://sales_data/year=2020/month=10/day=01 und gs://sales_data/year=2020/region=us.

  • Partitionsbenennung ohne Hive-Stil 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 ausgewählte Zonentabelle 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 entweder die Daten auffüllen oder den Metadateneintrag löschen.

Erkennungsaktionen auflösen

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

Weitere Aktionen

Zusätzlich zu den vorherigen Erkennungsaktionen gibt es drei weitere Arten von Aktionen im Zusammenhang mit dem Ressourcenstatus und der Weitergabe von Sicherheitsrichtlinien in Dataplex.

  • Fehlende Ressource: Der zugrunde liegende Bucket oder Dataset wurde für ein vorhandenes Asset nicht gefunden.

  • Nicht autorisierte Ressource: Dataplex hat nicht die erforderlichen Berechtigungen, um die Erkennung auszuführen oder Sicherheitsrichtlinien auf den von Dataplex verwalteten Bucket oder Dataset anzuwenden.

  • Probleme bei der Weitergabe von Sicherheitsrichtlinien: Sicherheitsrichtlinien, die für einen bestimmten Lake, eine bestimmte Zone oder ein bestimmtes Asset angegeben wurden, konnten nicht an die zugrunde liegenden Buckets oder Datasets weitergegeben werden. Während sich alle anderen Aktionen auf Asset-Ebene befinden, 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 Ressourcen- oder Sicherheitskonfigurationsprobleme behoben wurden.

Häufig gestellte Fragen

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. Dazu aktualisieren Sie Metadaten mit der Metadaten API. Legen Sie userManaged auf true fest, damit Ihre Änderung in nachfolgenden Discovery-Scans nicht überschrieben wird.

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

Standardmäßig werden bei der Erkennung bestimmte Dateitypen vom Scan ausgeschlossen, 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_ beginnen, gefolgt von einer Nummer
  • Verzeichnisse, die mit . beginnen

Sie können zusätzliche Ein- oder Ausschlussmuster angeben. Verwenden Sie dazu die Discovery-Konfiguration auf Zonen- oder Asset-Ebene oder die Metadaten API.

Was kann ich tun, wenn die von der Erkennung erkannte Tabellengruppierung zu detailliert ist?

Wenn die von der Erkennung erkannten Tabellen auf einer detaillierteren Ebene als der Tabellenstammpfad liegen, z. B. jede einzelne Partition als Tabelle registriert ist, kann dies mehrere Gründe haben:

  • Es gibt Formatunterschiede im erwarteten Tabellenstammpfad, z. B. eine Mischung aus Avro- und Parquet-Dateien, die die Tabelle in kleinere Gruppierungen aufteilen.

  • Es gibt verschiedene Arten von Schemainkompatibilitäten im erwarteten Tabellenstammpfad, die die Tabelle in kleinere Gruppierungen unterteilen.

Sie haben folgende Möglichkeiten, dieses Problem zu beheben:

  • Korrigieren Sie Format- oder Schemaunterschiede, sodass alle Dateien im selben Tabellenstammpfad ein konsistentes Format und kompatibles Schema haben.

  • Schließen Sie heterogene Dateien aus, indem Sie die Konfiguration zum Ausschließen von Mustern als Teil der Zonen-/Asset-Konfiguration oder der Metadaten API verwenden.

Nachdem Sie einen der Korrekturschritte durchgeführt haben, geschieht im nächsten Discovery-Scan Folgendes:

  • Die vorhandenen untergeordneten Tabellen werden automatisch aus der Dataplex Metadata API, BigQuery, Dataproc Metastore und Data Catalog entfernt.
  • Stattdessen wird eine neue übergeordnete Tabelle mit dem erwarteten Tabellenstammpfad erstellt.

Wie gebe ich Tabellennamen an?

Sie können Tabellennamen mithilfe der Metadaten API angeben.

Was passiert, wenn ich Tabellen in Dataproc Metastore oder BigQuery manuell erstelle?

Wenn die Erkennung für ein bestimmtes Asset aktiviert ist, müssen Sie Einträge in Dataproc Metastore oder BigQuery nicht manuell registrieren.

Sie können Tabellenname, Schema und Partitionsdefinitionen manuell definieren und Dataplex Discovery ausschalten. Alternativ können Sie so vorgehen:

  1. Erstellen Sie eine Tabelle, indem Sie nur die erforderlichen Informationen angeben, z. B. den Tabellenstammpfad.
  2. Verwenden Sie Dataplex Discovery, um die restlichen Metadaten wie Schema- und Partitionsdefinitionen auszufüllen.
  3. Halte die Metadaten auf dem neuesten Stand.

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

Während Dataplex-Metadaten alle zentral in der Metadaten API registriert sind, werden nur Cloud Storage-Tabellen, die mit BigQuery kompatibel sind, als externe Tabellen in BigQuery veröffentlicht. In den Details zu Tabelleneinträgen in der Metadaten API finden Sie eine BigQuery-Kompatibilitätsmarkierung, die angibt, welche Entitäten in BigQuery veröffentlicht werden und warum.

Nächste Schritte