Dataplex-Metadaten

In diesem Leitfaden werden Dataplex-Metadaten beschrieben und Sie erfahren, wie Sie mit Dataplex APIs verwalten.

Übersicht

Dataplex scannt Folgendes:

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

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

  • Metadaten von Tabellen- und Dateisatzentitäten abrufen, bearbeiten und löschen
  • Eigene Metadaten für Tabellen oder Dateisätze erstellen

Sie haben auch folgende Möglichkeiten, Dataplex-Metadaten zu analysieren:

  • Data Catalog zum Suchen und Tagging
  • Dataproc Metastore und BigQuery für Tabelle Metadatenabfragen und Analyseverarbeitung

Dataplex APIs

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

Control Plane API

Mit der Dataplex Control Plane API können Lake-, Zone- und Asset-Ressourcen erstellt und verwaltet werden.

  • Lake: Eine Dataplex-Dienstinstanz, mit der Speicherressourcen für Projekte innerhalb einer Organisation verwaltet werden können.

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

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

Metadata API

Mit der Dataplex Metadata API können Sie Metadaten in Tabellen- und Dateisatzentitäten und ‑partitionen erstellen und verwalten. Dataplex scannt Daten Assets in einem Lake oder von Ihnen bereitgestellt werden, 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 Speicherort der Daten identifiziert. Metadaten zu 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.
Dateisatzentität:

Metadaten zu unstrukturierten, in der Regel schemalosen Daten. Dateisätze werden eindeutig durch die Entitäts-ID und den Speicherort der Daten identifiziert. Jedes Dateiensatz hat ein Datenformat.

Partitionen:

Metadaten für eine Teilmenge von Daten innerhalb einer Tabelle oder Dateisatzentität, identifiziert durch eine Reihe von Schlüssel/Wert-Paaren und einen Datenspeicherort.

API testen

Dataplex verwenden lakes.zones.entities und lakes.zones.partitions API-Referenzdokumentationsseiten mit den zugehörigen Parametern und Feldern mit jeder API. Nutzen Sie den Bereich API testen in der Referenzdokumentation. für jede API-Methode, um API-Anfragen mit unterschiedlichen Parametern und Feldern zu stellen. Sie können Ihre Anfragen erstellen, ansehen und senden, ohne Anmeldedaten und sehen Sie sich dann die vom Dienst zurückgegebenen Antworten an.

Die folgenden Abschnitte enthalten Informationen, die Ihnen dabei helfen, Dataplex Metadata APIs verwenden

Entitäten

Entitäten auflisten

Wenn Sie die Liste der vom Dienst zurückgegebenen Entitäten eingrenzen möchten, fügen Sie der list entities-Anfrage-URL Suchparameter vom Typ filter hinzu.

Entität abrufen

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

Kompatibilitätsdetails: Dataplex-Metadaten werden zentral in der Metadaten-API registriert, nur Metadaten der Entitätstabelle, kompatibel mit BigQuery und Apache Hive Metastore veröffentlicht wurde, zu BigQuery und Dataproc Metastore. Die Get Entity API gibt eine CompatibilityStatus-Nachricht zurück, aus der hervorgeht, ob die Tabellenmetadaten mit BigQuery und Hive Metastore kompatibel sind. Andernfalls wird der Grund für die Inkompatibilität angegeben.

Entität aktualisieren

Verwenden Sie diese API, um Entitätsmetadaten zu bearbeiten, einschließlich der Frage, ob Sie oder Dataplex verwaltet Entitätsmetadaten.

  • Mit dieser API werden alle änderbaren Felder der Entität vollständig ersetzt. Die folgenden Entitätsfelder sind unveränderlich und wenn Sie sie in einer Aktualisierung angeben werden sie ignoriert:
  • Geben Sie einen Wert für alle änderbaren Entitätsfelder an, einschließlich aller schema-Feldern. auch wenn die Werte nicht geändert werden.
  • Geben Sie das Feld etag an. Sie erhalten das ETag, indem Sie zunächst ein entities.get-Anfrage aufzurufen, wodurch der etag der Entität in der Antwort zurückgegeben wird.
  • Schemafelder aktualisieren: Sie können das von Dataplex ermittelte Tabellenschema aktualisieren, um die Genauigkeit zu verbessern:
    • Wenn das Schema ein Dateisatz ist, lassen Sie alle Schemafelder leer.
    • Um ein wiederkehrendes Feld zu definieren, legen Sie den Parameter Modus an REPEATED. Wenn Sie ein Strukturfeld definieren möchten, setzen Sie den Typ auf RECORD.
    • Sie können die userManaged des Schemas, um anzugeben, ob Sie oder Dataplex Tabellenmetadaten verwaltet. Die Standardeinstellung ist „Von Dataplex verwaltet“. Wenn userManaged auf „wahr“ gesetzt ist, wird diese Einstellung in den Informationen enthalten sein, die von einer entities.get-Anfrage zurückgegeben werden, wenn EntityView auf SCHEMA oder FULL festgelegt ist.
  • Partitionsfelder aktualisieren:
    • Für nicht im Hive-Format partitionierte Daten generiert Dataplex Discovery automatisch Partitionsschlüssel. 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 nach year, month und day.
    • Wenn Sie den Partitionsstil auf HIVE-Stil aktualisieren, ist das Partitionsfeld unveränderlich.
  • Andere Metadatenfelder aktualisieren: Sie können automatisch generierte mimeType, CompressionFormat CsvOptions und JsonOptions Felder, die die Dataplex-Erkennung unterstützen. Bei der nächsten Ausführung von Dataplex Discovery werden die neuen Werte verwendet.

Entität erstellen

Verwenden Sie die entities.create API, um Metadatenentitäten für Tabellen oder Dateisätze zu erstellen. Füllen Sie die Pflichtfelder und die relevanten optionalen Felder aus oder lassen Sie die optionalen Felder vom Dataplex-Discovery-Dienst ausfüllen.

Entität löschen

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

Wenn zugrunde liegende Daten für eine Tabelle oder ein Dateisystem in einer Raw-Zone gelöscht werden, werden die Metadaten der Tabelle oder des Dateisystems beim nächsten Discovery-Scan 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. Stattdessen wird eine Aktion für fehlende Daten gemeldet. Löschen Sie die Tabelle explizit, um dieses Problem zu beheben Metadaten-Entität über die Metadaten-API.

Partitionen

Partitionen auflisten

Um die Liste der vom Dienst zurückgegebenen Partitionen einzuschränken, fügen Sie Filter Suchparameter an die list partitions-Anfrage-URL an.

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 an das Ende der URL anhängen. Die URL muss so formatiert sein, dass sie mit partitions/value1/value2/…./value10 beginnt.

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

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

Partition erstellen

Verwenden Sie die partitions.create API, um eine benutzerdefinierte Partition für Ihre Datenquelle zu erstellen. Geben Sie die erforderlichen Ort mit einem Cloud Storage-Pfad.

Partition löschen

Vervollständigen Sie die Anfrage-URL, indem Sie Partitionsschlüsselwerte am Ende der Die Anfrage-URL, die so formatiert ist, dass sie als partitions/value1/value2/…./value10 gelesen wird

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

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

Nächste Schritte