Metadaten von Lakes, Zonen und Assets verwalten

In dieser Anleitung werden die Metadaten des Knowledge Catalog (ehemals Dataplex Universal Catalog) für Lakes, Zonen und Assets beschrieben und Sie erfahren, wie Sie sie mit der Dataplex API verwalten können.

Übersicht

Knowledge Catalog scannt Folgendes:

  • Strukturierte und halbstrukturierte Daten-Assets in Data Lakes, um Tabellenmetadaten in Tabellenentitäten zu extrahieren
  • Unstrukturierte Daten wie Bilder und Texte, um Metadaten von Dateigruppen in Dateigruppenentitäten zu extrahieren

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

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

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

  • Data Catalog (verworfen) zum Suchen und Taggen
  • Dataproc Metastore und BigQuery für Abfragen von Tabellenmetadaten und Analysen

Dataplex-API

In diesem Abschnitt werden die Lake-, Zonen- und Asset-Ressourcen in der Dataplex API und die wichtigsten zugehörigen Ressourcen zusammengefasst.

API der Steuerungsebene

Mit der Dataplex API der Steuerungsebene können Sie die Lake-, Zonen- und Asset-Ressourcen erstellen und verwalten.

  • Lake: Eine Knowledge Catalog-Dienstinstanz, mit der Sie Speicherressourcen in verschiedenen Projekten innerhalb einer Organisation verwalten können.

  • Zone: Eine logische Gruppierung von Assets in einem Lake. Verwenden Sie mehrere Zonen in einem 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 sind.

Metadata API

Mit der Dataplex Metadata API können Sie Metadaten in Tabellen- und Dateigruppenentitäten und Partitionen erstellen und verwalten. Knowledge 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.
Dateigruppenentität :

Metadaten zu unstrukturierten Daten, die in der Regel kein Schema haben. Dateigruppen werden eindeutig durch die Entitäts-ID und den Datenspeicherort identifiziert. Jede Dateigruppe 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 werden.

API testen

Auf den Referenzdokumentationsseiten für die Knowledge Catalog APIs lakes.zones.entities und lakes.zones.partitions finden Sie die Parameter und Felder, die mit den einzelnen APIs verknüpft 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 Ihre 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 Knowledge Catalog Metadata APIs zu verstehen und zu verwenden.

Entitäten

Entitäten auflisten

Wenn Sie die Liste der vom Dienst zurückgegebenen Entitäten einschränken möchten, fügen Sie der list entities Anfrage-URL Filter abfrageparameter hinzu.

Entität abrufen

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

Details zur Kompatibilität:Während Knowledge Catalog-Metadaten zentral in der Metadata API registriert werden, werden nur Entitätstabellenmetadaten, 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 Tabellenmetadaten mit BigQuery und Hive Metastore kompatibel sind, und wenn nicht, den Grund für die Inkompatibilität.

Entität aktualisieren

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

  • Diese API ersetzt alle änderbaren Entitätsfelder vollständig. Die folgenden Entitätsfelder sind unveränderlich. Wenn Sie sie in einer Aktualisierungsanfrage angeben, werden sie ignoriert:
  • Geben Sie für alle änderbaren Entitätsfelder einen Wert an, einschließlich aller Schema-Felder, 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 von Knowledge Catalog ermittelte Tabellenschema aktualisieren, um die Genauigkeit zu verbessern.
    • Wenn das Schema eine Dateigruppe ist, lassen Sie alle Schemafelder leer.
    • Wenn Sie ein wiederholtes Feld definieren möchten, setzen Sie den Modus auf REPEATED. Wenn Sie ein Strukturfeld definieren möchten, setzen Sie den Typ auf RECORD.
    • Sie können das userManaged Feld des Schemas festlegen, um anzugeben, ob Sie oder Knowledge Catalog Tabellenmetadaten verwalten. Die Standardeinstellung ist „Von Knowledge Catalog verwaltet“. Wenn userManaged auf „true“ gesetzt ist, ist diese Einstellung in den Informationen enthalten, die von einer entities.get Anfrage zurückgegeben werden, wenn EntityView auf SCHEMA oder FULL gesetzt ist.
  • Partitionsfelder aktualisieren:
    • Für nicht im Hive-Stil partitionierte Daten generiert die Knowledge Catalog-Erkennung automatisch Partitionsschlüssel. Für den Datenpfad gs://root/2020/12/31 werden beispielsweise die Partitionsschlüssel p0, p1 und p2 generiert. Um Abfragen intuitiver zu gestalten, können Sie p0, p1 und p2 in year, month und day aktualisieren.
    • Wenn Sie den Partitionsstil in „HIVE“ ändern, ist das Partitionsfeld unveränderlich.
  • Andere Metadatenfelder aktualisieren:Sie können automatisch generierte Felder wie mimeType, CompressionFormat, CsvOptions und JsonOptions aktualisieren, um die Knowledge Catalog-Erkennung zu unterstützen. Bei der nächsten Ausführung der Knowledge Catalog Erkennung werden die neuen Werte verwendet.

Entität erstellen

Verwenden Sie die API entities.create, um Metadatenentitäten für Tabellen oder Dateigruppen zu erstellen. Füllen Sie die erforderlichen und relevanten optionalen Felder aus oder lassen Sie die optionalen Felder vom Knowledge 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 die zugrunde liegenden Daten für eine Tabelle oder Dateigruppe in einer Rohzone gelöscht werden, werden die Metadaten der Tabelle oder Dateigruppe beim nächsten Erkennungsscan automatisch gelöscht. Wenn die zugrunde liegenden 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. Um dieses Problem zu beheben, löschen Sie die Metadatenentität der Tabelle explizit über die Metadata API.

Partitionen

Partitionen auflisten

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

Beispiele :

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

Partition abrufen

Wenn Sie eine Partition abrufen möchten, müssen Sie die Anfrage-URL vervollständigen, indem Sie die Partitionsschlüsselwerte am Ende der URL anhängen. Sie muss das Format partitions/value1/value2/…./value10 haben.

Beispiel: Wenn eine Partition die Werte {Country=US, State=CA, City=Sunnyvale} hat, sollte die URL der Abrufanfrage 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

Verwenden Sie die API partitions.create, um eine benutzerdefinierte Partition für Ihre Datenquelle zu erstellen. Geben Sie das erforderliche Feld „location“ mit einem Cloud Storage-Pfad an.

Partition löschen

Vervollständigen Sie die Anfrage-URL, indem Sie die Partitionsschlüsselwerte am Ende von der Anfrage-URL anhängen. Sie muss das Format partitions/value1/value2/…./value10 haben.

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