Daten erkennen

In diesem Leitfaden wird erläutert, wie Dataplex aktiviert und verwendet wird Auffindbarkeit. Discovery scannt und extrahiert Metadaten aus Daten in einem Data Lake und registriert sie in Dataproc Metastore, BigQuery und Data Catalog für Analyse, Suche und explorative Datenanalyse.

Übersicht

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

  • Die mit dem Asset verknüpften Daten werden gescannt.
  • Gruppiert strukturierte und semistrukturierte Dateien in Tabellen.
  • Hier werden technische Metadaten wie Tabellenname, Schema und Partitionsdefinition erfasst.

Bei unstrukturierten Daten wie Bildern und Videos erkennt Dataplex Discovery automatisch Dateigruppen mit demselben Medientyp und registriert sie als Dateisätze. Wenn gs://images/group1 beispielsweise GIF-Bilder und gs://images/group2 JPEG-Bilder enthält, erkennt und registriert Dataplex Discovery zwei Dateisätze. 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 sind in Data Catalog registriert für und Auffindbarkeit zu optimieren. Die Tabellen werden in Dataproc Metastore angezeigt als Tabellen im Hive-Format und in BigQuery als externe Tabellen. automatisch für die Analyse zur Verfügung gestellt.

Discovery unterstützt die folgenden strukturierten und semistrukturierten Datenformaten:

Discovery unterstützt das folgende Komprimierungsformat für strukturierte und halbstrukturierte 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 Asset an. 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 auf Asset-Ebene überschreiben.

Hier sind die Discovery-Konfigurationsoptionen auf Zonen- und Asset-Ebene:

  • Erkennung aktivieren und 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. Empfohlen: Planen Sie die Erkennung so, dass sie höchstens einmal pro Stunde ausgeführt wird häufig auftreten.

  • Muster für Ein- oder Ausschluss: Legen Sie mithilfe von Glob-Mustern im Pfad für Ein- oder Ausschluss 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 auszuschließenden Pfad ein. Anführungszeichen führen zu Fehlern. Achten Sie darauf, **/foo/* statt "**/foo/*" einzugeben. Diese Funktion ist nur für Cloud Storage-Assets verfügbar. Wenn beide Muster zum Ein- und Ausschließen gleichzeitig vorhanden sind, zuerst angewendet.

  • JSON- oder CSV-Spezifikationen: Hier können Sie zusätzliche Informationen angeben. wie semistrukturierte Daten wie CSV und JSON, um die Genauigkeit Erkennungsergebnisse.

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

      • Trennzeichen: In dieses Feld kann ein Zeichen außer \r und \n eingegeben werden. Wenn mehrere Zeichen angegeben werden, 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, erfolgt die Erkennung und wenn ein Header erkannt wird, extrahiert Spaltennamen aus dem Header und setzt den Wert auf 1 zurück.

      • Codierung: In diesem Feld werden Namen für die Stringcodierung unterstützt, z. B. UTF-8, US-ASCII oder ISO-8859-1. Wenn nichts angegeben ist, wird UTF-8 verwendet als die Standardeinstellung.

      • Typinferenz deaktivieren: Dieses Feld akzeptiert einen booleschen Wert. Es ist ist standardmäßig auf false festgelegt. 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 unterstützt, z. B. UTF-8, US-ASCII oder ISO-8859-1. Wenn nichts angegeben ist, wird UTF-8 verwendet. als Standard eingerichtet.

      • Datentypinferenz deaktivieren:In dieses Feld kann ein boolescher Wert eingegeben werden. 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.

Metadaten veröffentlichen

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

Jede Dataplex-Datenzone wird einem Datensatz in BigQuery oder einer Datenbank in Dataproc Metastore zugeordnet, in der Metadateninformationen automatisch verfügbar gemacht werden.

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

Erkannte Tabellen und Dateisätze ansehen

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

Suche öffnen

Verwenden Sie Dataplex-spezifische Filter, um genauere Suchergebnisse zu erhalten. wie Lake- und Datenzonennamen. Die obersten 50 Elemente pro Attribut sind in der Filterliste angezeigt. Über das Suchfeld kannst du nach weiteren Elementen suchen.

Jeder Eintrag enthält detaillierte technische und betriebliche Metadaten.

Auf der Seite mit den Eintragsdetails können Sie die Tabelle in BigQuery abfragen und die entsprechenden Details zur Dataproc Metastore-Registrierung aufrufen.

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 In BigQuery öffnen, um die Daten in BigQuery zu analysieren.

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

Alle gefundenen Einträge können über die Dataplex-Metadaten-API aufgerufen werden.

Discovery-Aktionen

Bei Erkennung werden die folgenden Administratoraktionen immer dann ausgelöst, wenn datenbezogene Probleme werden während der Scans erkannt.

Ungültiges Datenformat

Zu den Aktionen gehören:

  • Uneinheitliches Datenformat in einer Tabelle. Beispielsweise gibt es Dateien mit unterschiedlichen Formaten 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 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:

    • 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 im anderen Schema nicht gefunden wird.

  • Schemaabweichungen 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 und gs://sales_data/year=2020/region=us.

  • Partitionsbenennung für Nicht-Hive-Stile in der ausgewählten Datenzone. Für 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 kuratierten Daten sind die zugrunde liegenden Daten für eine registrierte Tabelle oder ein registriertes Dateiensatz nicht mehr vorhanden. Mit anderen Worten: Eine Zonentabelle oder ein Dateisatz wurde gefunden und registriert, aber die zugrunde liegenden Daten wurden später 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 bei nachfolgenden Discovery-Scans geprüft. Wenn das Problem, das die Aktion auslöst, behoben ist, ist die Aktion behoben automatisch beim nächsten geplanten Discovery-Scan.

Weitere Aktionen

Zusätzlich zu den oben genannten Discovery-Aktionen gibt es drei weitere Arten von Aktionen im Zusammenhang mit der Übertragung von Ressourcenstatus und Sicherheitsrichtlinien in Dataplex.

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

  • Nicht autorisierte Ressource: Dataplex hat nicht genügend Berechtigungen, um die Discovery-Funktion auszuführen oder Sicherheitsrichtlinien auf den von Dataplex verwalteten Bucket oder Datensatz anzuwenden.

  • Probleme mit der Weitergabe von Sicherheitsrichtlinien: Die für einen bestimmten Data Lake, eine Zone oder ein Asset angegebenen Sicherheitsrichtlinien konnten nicht an die zugrunde liegenden Bucket oder Datensätze weitergegeben werden. Alle anderen Aktionen befinden sich hingegen am Asset. 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 Ressourcen oder der Sicherheitskonfiguration behoben werden.

FAQ

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, indem Sie Metadaten mithilfe der metadata API an. Legen Sie userManaged auf true, damit Ihre Änderung in nachfolgenden Erkennungsscans.

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

Standardmäßig werden bestimmte Dateitypen vom Scannen 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 und von einer Zahl gefolgt werden
  • Verzeichnisse, die mit . beginnen

Sie können zusätzliche Ein- oder Ausschlussmuster mithilfe der Discovery-Konfiguration auf Zonen- oder Asset-Ebene oder mithilfe der Metadata API angeben.

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

Wenn die von Discovery erkannten Tabellen im Vergleich zum Stammpfad der Tabelle detaillierter sind, 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, den erwarteten Stammpfad der Tabelle, durch die die Tabelle in kleinere Gruppierungen aufgeteilt wird.

  • 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 dasselbe Format und ein kompatibles Schema haben.

  • Sie können heterogene Dateien ausschließen, indem Sie die Konfiguration des Ausschlussmusters als Teil verwenden der Zonen-/Asset-Konfiguration oder der Metadaten-API.

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

  • Die vorhandenen Tabellen der unteren Ebene werden automatisch aus der Dataplex-Metadaten-API, BigQuery, Dataproc Metastore und Data Catalog entfernt.
  • Stattdessen wird eine neue Tabelle auf oberer Ebene mit dem erwarteten Stammpfad der Tabelle erstellt.

Wie lege ich Tabellennamen fest?

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

  1. Tabelle erstellen indem Sie nur die erforderlichen Informationen angeben, z. B. den Stammpfad der Tabelle.
  2. Verwenden Sie Dataplex Discovery, um den Rest die Metadaten wie Schema- und Partitionsdefinitionen.
  3. Halten Sie die Metadaten auf dem neuesten Stand.

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

Alle Dataplex-Metadaten werden zwar zentral in der Metadaten-API registriert, aber nur Cloud Storage-Tabellen, die mit BigQuery kompatibel sind, werden als externe Tabellen in BigQuery veröffentlicht. In den Details zum Tabelleneintrag in der Metadata API finden Sie eine BigQuery-Kompatibilitätsmarkierung, die angibt, welche Entitäten in BigQuery veröffentlicht werden und warum.

Nächste Schritte