Metadaten von Datenlakes, Zonen und Assets verwalten

In dieser Anleitung werden die Dataplex Universal Catalog-Metadaten für Lakes, Zonen und Assets beschrieben und es wird erläutert, wie Sie sie mit Dataplex Universal Catalog-APIs verwalten können.

Übersicht

Dataplex Universal Catalog scannt Folgendes:

  • Strukturierte und semistrukturierte Daten-Assets in Data Lakes, um Tabellenmetadaten in Tabellenentitäten zu extrahieren
  • Unstrukturierte Daten wie Bilder und Texte, um Dateienmetadaten in Dateienentitäten zu extrahieren

Mit der Dataplex Universal Catalog Metadata API haben Sie folgende Möglichkeiten:

  • Metadaten von Tabellen- und Fileset-Entitäten ansehen, bearbeiten und löschen
  • Eigene Metadaten für Tabellen- oder Fileset-Entitäten erstellen

Sie können Dataplex Universal Catalog-Metadaten mit den folgenden Tools analysieren:

  • Data Catalog (eingestellt) für die Suche und das Tagging
  • Dataproc Metastore und BigQuery für das Abfragen von Tabellenmetadaten und die Analyse

Dataplex Universal Catalog-APIs

In diesem Abschnitt werden die Dataplex Universal Catalog APIs und die zugehörigen wichtigsten Ressourcen zusammengefasst.

API der Steuerungsebene

Mit der Dataplex Universal Catalog-Steuerungsebene-API können die Ressourcen „Lake“, „Zone“ und „Asset“ erstellt und verwaltet werden.

  • Lake: Eine Dataplex Universal Catalog-Dienstinstanz, mit der Speicherressourcen projektübergreifend in einer Organisation verwaltet werden können.

  • Zone: Eine logische Gruppierung von Assets in einem Lake. Verwenden Sie mehrere Zonen in einem Data Lake, um Daten nach Bereitschaft, Arbeitslast oder Organisationsstruktur zu organisieren.

  • Assets: Speicherressourcen mit Daten, die in Cloud Storage-Buckets oder BigQuery-Datasets gespeichert sind und an eine Zone in einem Lake angehängt werden.

Metadata API

Mit der Dataplex Universal Catalog Metadata API können Sie Metadaten in Tabellen- und Dateisatzentitäten sowie Partitionen erstellen und verwalten. Dataplex Universal Catalog scannt Daten-Assets, entweder in einem Lake oder von Ihnen bereitgestellt, um Entitäten und Partitionen zu erstellen. Entitäten und Partitionen enthalten Verweise auf zugehörige Assets und physische Speicherorte.

Wichtige Konzepte

Tabellenentität:

Metadaten für strukturierte Daten mit klar definierten Schemas. Tabellenentitäten werden eindeutig durch die Entitäts-ID und den Datenspeicherort identifiziert. Metadaten von Tabellenentitäten können in BigQuery und Dataproc Metastore abgefragt werden:

  • Cloud Storage-Objekte:Metadaten für Cloud Storage-Objekte, auf die über die Cloud Storage-APIs zugegriffen wird.
  • BigQuery-Tabellen:Metadaten für BigQuery-Tabellen, auf die über die BigQuery APIs zugegriffen wird.
Fileset-Entität:

Metadaten zu unstrukturierten, in der Regel schemalosen Daten. Dateigruppen werden eindeutig durch die Entitäts-ID und den Datenspeicherort identifiziert. Jedes Fileset hat ein Datenformat.

Partitionen:

Metadaten für eine Teilmenge von Daten in einer Tabellen- oder Dateigruppenentität, die durch eine Reihe von Schlüssel/Wert-Paaren und einen Datenspeicherort identifiziert wird.

API testen

In der API-Referenzdokumentation für lakes.zones.entities und lakes.zones.partitions des Dataplex Universal Catalog finden Sie die Parameter und Felder, die den einzelnen APIs zugeordnet sind. Verwenden Sie den Bereich API testen, der zur Referenzdokumentation für jede API-Methode gehört, um API-Anfragen mit verschiedenen Parametern und Feldern zu stellen. Sie können Anfragen erstellen, ansehen und senden, ohne Anmeldedaten generieren zu müssen, und dann die vom Dienst zurückgegebenen Antworten ansehen.

In den folgenden Abschnitten finden Sie Informationen, die Ihnen helfen, die Dataplex Universal Catalog Metadata APIs zu verstehen und zu verwenden.

Entitäten

Entitäten auflisten

Wenn Sie die vom Dienst zurückgegebene Liste der Einheiten einschränken möchten, fügen Sie der Anfrage-URL list entities die Suchparameter filter hinzu.

Entität abrufen

Standardmäßig enthält die Get Entity-Antwort grundlegende Metadaten zu Entitäten. Wenn Sie zusätzliche Schemametadaten abrufen möchten, fügen Sie der Anfrage-URL den Abfrageparameter view hinzu.

Kompatibilitätsdetails:Während Metadaten des Dataplex Universal Catalog zentral in der Metadaten-API registriert werden, werden nur Metadaten von Entitätstabellen, die mit BigQuery und Apache Hive Metastore kompatibel sind, in BigQuery und Dataproc Metastore veröffentlicht. Die Get Entity API gibt eine CompatibilityStatus-Nachricht zurück, die angibt, ob die Tabellenmetadaten mit BigQuery und Hive Metastore kompatibel sind. Wenn nicht, wird der Grund für die Inkompatibilität angegeben.

Entität aktualisieren

Mit dieser API können Sie Entitätsmetadaten bearbeiten, einschließlich der Frage, ob Sie oder Dataplex Universal Catalog die Entitätsmetadaten verwalten.

  • Mit dieser API werden alle änderbaren Entity-Felder vollständig ersetzt. Die folgenden Entitätsfelder sind unveränderlich. Wenn Sie sie in einer Aktualisierungsanfrage angeben, werden sie ignoriert:
  • Geben Sie einen Wert für alle veränderlichen Entitätsfelder an, einschließlich aller Schemafelder, auch wenn die Werte nicht geändert werden.
  • Geben Sie das Feld etag an. Sie können das ETag abrufen, indem Sie zuerst eine entities.get-Anfrage senden, die das etag der Entität in der Antwort zurückgibt.
  • Schemafelder aktualisieren:Sie können das vom Dataplex Universal Catalog ermittelte Tabellenschema aktualisieren, um die Genauigkeit zu verbessern:
    • Wenn das Schema ein Fileset ist, lassen Sie alle Schemafelder leer.
    • Wenn Sie ein wiederkehrendes Feld definieren möchten, legen Sie den Modus auf REPEATED fest. Um ein Strukturfeld zu definieren, setzen Sie den Typ auf RECORD.
    • Sie können das Feld userManaged des Schemas festlegen, um anzugeben, ob Sie oder Dataplex Universal Catalog die Tabellenmetadaten verwalten. Die Standardeinstellung ist „Dataplex Universal Catalog“ verwaltet. Wenn userManaged auf „true“ gesetzt ist, wird diese Einstellung in den Informationen berücksichtigt, die bei einer entities.get-Anfrage zurückgegeben werden, wenn EntityView auf SCHEMA oder FULL gesetzt ist.
  • Partitionsfelder aktualisieren:
    • Bei nicht im Hive-Stil partitionierten Daten werden Partitionsschlüssel automatisch von Dataplex Universal Catalog generiert. Für den Datenpfad gs://root/2020/12/31 werden beispielsweise die Partitionsschlüssel p0, p1 und p2 generiert. Um die Abfrage intuitiver zu gestalten, können Sie p0, p1 und p2 in year, month und day ändern.
    • Wenn Sie den Partitionsstil auf HIVE style aktualisieren, ist das Partitionsfeld unveränderlich.
  • Andere Metadatenfelder aktualisieren:Sie können die automatisch generierten Felder mimeType, CompressionFormat, CsvOptions und JsonOptions aktualisieren, um die Erkennung im Dataplex Universal Catalog zu erleichtern. Beim nächsten Ausführen von Dataplex Universal Catalog Discovery werden neue Werte verwendet.

Entität erstellen

Mit der entities.create API können Sie Metadatenentitäten für Tabellen oder Dateisätze erstellen. Füllen Sie die erforderlichen und relevanten optionalen Felder aus oder lassen Sie die optionalen Felder vom Dataplex Universal Catalog-Erkennungsdienst ausfüllen.

Entität löschen

  • Geben Sie das Feld etag an. Sie können das ETag abrufen, indem Sie zuerst eine entities.get-Anfrage senden, die das etag der Entität in der Antwort zurückgibt.

Wenn zugrunde liegende Daten für eine Tabelle oder einen Fileset in einer Rohdaten-Zone gelöscht werden, werden die Metadaten der Tabelle oder des Filesets beim nächsten Discovery-Scan automatisch gelöscht. Wenn zugrunde liegende Daten für eine Tabelle in einer kuratierten Zone gelöscht werden, werden die Tabellenmetadaten nicht entsprechend gelöscht, sondern es wird eine Aktion für fehlende Daten gemeldet. Löschen Sie die Tabellenmetadatenentität explizit über die Metadaten-API, um dieses Problem zu beheben.

Partitionen

Partitionen auflisten

Wenn Sie die vom Dienst zurückgegebene Liste der Partitionen einschränken möchten, fügen Sie der Anfrage-URL list partitions die Abfrageparameter filter hinzu.

Beispiele:

  • ?filter="Country=US AND State=CA AND City=Sunnyvale"
  • ?filter="year < 2000 AND month > 12 AND Date > 10"

Partition abrufen

Um eine Partition zu erhalten, müssen Sie die Anfrage-URL vervollständigen, indem Sie die Partitionsschlüsselwerte an das Ende der URL anhängen. Die Formatierung muss partitions/value1/value2/…./value10 lauten.

Beispiel: Wenn eine Partition die Werte {Country=US, State=CA, City=Sunnyvale} hat, sollte die URL der GET-Anfrage mit /partitions/US/CA/Sunnyvale enden.

Wichtig:Die angehängten URL-Werte müssen doppelt codiert sein. Mit url_encode(url_encode(value)) kann beispielsweise „US:CA/CA#Sunnyvale“ codiert werden, sodass die Anfrage-URL mit /partitions/US%253ACA/CA%2523Sunnyvale endet. Das Feld „name“ in der Antwort behält das codierte Format bei.

Partition erstellen

Wenn Sie eine benutzerdefinierte Partition für Ihre Datenquelle erstellen möchten, verwenden Sie die partitions.create API. Geben Sie das erforderliche Feld location mit einem Cloud Storage-Pfad an.

Partition löschen

Fügen Sie der Anfrage-URL die Werte für den Partitionsschlüssel hinzu, sodass sie als partitions/value1/value2/…./value10 formatiert ist.

Beispiel: Wenn eine Partition die Werte {Country=US, State=CA, City=Sunnyvale} hat, sollte die Anfrage-URL mit /partitions/US/CA/Sunnyvale enden.

Wichtig:Die angehängten URL-Werte müssen RFC-1034 entsprechen oder doppelt codiert sein, z. B. US:/CA#/Sunnyvale als US%3A/CA%3A/Sunnyvale.

Nächste Schritte