Daten erkennen

In diesem Leitfaden 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 die folgenden 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 Dateien, die Medientypen freigeben, 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 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 Tabellen im Hive-Format und in BigQuery als externe Tabellen angezeigt, sodass die Daten automatisch für die Analyse verfügbar gemacht 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 diese Formate:

    Komprimierung Beispiel für eine 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 Discovery 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.

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

  • Erkennung aktivieren und deaktivieren:

  • Erkennungszeitplan: Für diese Option kann ein vordefinierter Zeitplan (z. B. stündlich oder täglich) oder ein benutzerdefinierter Zeitplan festgelegt werden, der im Cron-Format definiert ist. Neue Assets werden gescannt, wenn sie hinzugefügt werden. Weitere Informationen finden Sie unter Cron-Zeitpläne konfigurieren. Empfohlen: Planen Sie die Erkennung so, dass sie stündlich oder seltener ausgeführt wird.

  • Muster ein- oder ausschließen: Legen Sie mithilfe von glob-Mustern im Ein- oder Ausschlusspfad fest, welche Dateien in Discovery-Scans einbezogen oder von ihnen 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 führen Fehler aus. 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: Sie können zusätzliche Informationen zu semistrukturierten Daten wie CSV und JSON angeben, um die Genauigkeit der Discovery-Ergebnisse zu verbessern.

    • Bei CSV-Dateien können Sie Folgendes angeben:

      • Trennzeichen: In dieses Feld kann ein Zeichen außer \r und \n eingegeben werden. 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 oder 1 eingegeben werden. Der Standardwert ist 0. Wenn der Wert 0 ist, führt Discovery eine Headerinferenz durch. Wird ein Header erkannt, extrahiert Discovery die Spaltennamen aus dem Header und setzt den Wert auf 1 zurück.

      • Codierung: In diesem Feld werden Stringcodierungen wie UTF-8, US-ASCII oder ISO-8859-1 akzeptiert. Wenn nichts angegeben ist, wird UTF-8 als Standard verwendet.

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

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

      • Codierung: In diesem Feld werden Stringcodierungen wie UTF-8, US-ASCII oder ISO-8859-1 akzeptiert. Wenn nichts angegeben ist, wird UTF-8 als Standard verwendet.

      • Datentypinferenz deaktivieren:In dieses Feld kann ein boolescher Wert eingegeben werden. Standardmäßig ist false festgelegt. Wenn Sie bei JSON-Daten die Typinferenz deaktivieren, werden alle Spalten als ihre primitiven Typen (String, Zahl oder boolescher Wert) registriert.

Metadaten veröffentlichen

Wenn Sie eine Datenzone in Ihrem Dataplex-Lake erstellen, erstellt Dataplex ein BigQuery-Dataset im 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 bezeichnet, das der Zone entspricht.

Jede Dataplex-Datenzone ist einem Dataset in BigQuery oder einer Datenbank in Dataproc Metastore zugeordnet, in dem Metadateninformationen automatisch verfügbar gemacht 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 Suche 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. Die Top-50-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 sich die entsprechenden Registrierungsdetails von Dataproc Metastore ansehen.

Wenn eine Cloud Storage-Tabelle in BigQuery als externe Tabelle veröffentlicht werden kann, wird in der zugehörigen Detailansicht Folgendes angezeigt:

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

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

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

Erkennungsaktionen

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

Ungültiges Datenformat

Zu den Aktionen gehören:

  • Uneinheitliches Datenformat in einer Tabelle. So existieren beispielsweise Dateien unterschiedlicher Formate mit demselben Tabellenpräfix.

  • Ungültiges Datenformat in ausgewählten Zonen (Daten, die nicht im Avro-, Parquet- oder ORC-Format vorliegen).

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 folgenden Fällen nicht kompatibel:

    • A und B haben Felder mit demselben Namen, aber unterschiedlichen und inkompatiblen Datentypen. Zum Beispiel String und Ganzzahl.

    • Die Felder A und B überschneiden sich nicht.

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

  • Schemaabweichung gegen ein vom Nutzer verwaltetes Schema in der ausgewählten 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 für Nicht-Hive-Stile 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 Zone mit ausgewählten Daten sind die zugrunde liegenden Daten für eine registrierte Tabelle oder einen Dateisatz nicht mehr vorhanden. Mit anderen Worten, eine kuratierte 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 klären

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

Weitere Aktionen

Zusätzlich zu den vorherigen Erkennungsaktionen gibt es drei weitere Arten von Aktionen in Bezug auf den Ressourcenstatus und die Weitergabe von Sicherheitsrichtlinien in Dataplex.

  • Fehlende Ressource: Der zugrunde liegende Bucket oder das zugrunde liegende Dataset wurde nicht gefunden, der einem vorhandenen Asset entspricht.

  • Nicht autorisierte Ressource: Dataplex hat nicht die erforderlichen Berechtigungen, um eine Erkennung durchzufü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 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.

Häufig gestellte Fragen

Was kann ich tun, wenn das von der Erkennung 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. Aktualisieren Sie dazu Metadaten mit der metadata API. Legen Sie für userManaged den Wert true fest, 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 vom Scannen 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_ beginnen, gefolgt von einer Zahl
  • Verzeichnisse, die mit . beginnen

Zusätzliche Einschließen- oder Ausschlussmuster können Sie mithilfe der Discovery-Konfiguration auf Zonen- oder Asset-Ebene oder mithilfe der Metadaten API angeben.

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

Wenn die von der Erkennung erkannten Tabellen im Vergleich zum Stammpfad der Tabelle auf einer detaillierteren Ebene sind, z. B. wenn jede einzelne Partition als Tabelle registriert ist, kann es mehrere Gründe geben:

  • Es gibt Formatunterschiede wie eine Mischung aus Avro- und Parquet-Dateien im erwarteten Stammpfad der Tabelle, die die Tabelle in kleinere Gruppierungen aufteilen.

  • Es gibt verschiedene Arten von Schemainkompatibilitäten im erwarteten Stammpfad der Tabelle, die die Tabelle in kleinere Gruppierungen aufteilen.

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

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

  • Sie können heterogene Dateien mithilfe der Ausschlussmusterkonfiguration als Teil der Zonen-/Asset-Konfiguration oder der Metadaten-API ausschließen.

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

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

Wie gebe ich Tabellennamen an?

Sie können Tabellennamen mithilfe 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, Schemas und Partitionsdefinitionen manuell definieren und dabei Dataplex Discovery deaktivieren. Alternativ können Sie so vorgehen:

  1. Erstellen Sie eine Tabelle und geben Sie dabei nur die erforderlichen Informationen an, z. B. den Stammpfad der Tabelle.
  2. Verwenden Sie Dataplex Discovery, um die restlichen Metadaten wie Schema- und Partitionsdefinitionen zu füllen.
  3. Halte die Metadaten auf dem neuesten Stand.

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

Während alle Dataplex-Metadaten zentral in der Metadaten API registriert sind, werden nur mit BigQuery kompatible Cloud Storage-Tabellen 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