Dataplex-Metadaten

In diesem Leitfaden werden Dataplex-Metadaten und die Verwendung von Dataplex APIs zur Verwaltung beschrieben.

Überblick

Dataplex scannt Folgendes:

  • Strukturierte und semistrukturierte Daten-Assets in Data Lakes, um Tabellenmetadaten in Tabellenentitäten zu extrahieren
  • Unstrukturierte Daten wie Bilder und Text zum Extrahieren von Metadaten des Dateisatzes in Dateisatzentitäten

Mit der Dataplex Metadata API können Sie Folgendes tun:

  • Metadaten für Tabellen- und Dateisätze ansehen, bearbeiten und löschen
  • Eigene Metadaten für Tabelle oder Dateisatz erstellen

Sie können Dataplex-Metadaten auch auf eine der folgenden Arten analysieren:

  • Data Catalog für die Suche und das Tagging
  • Dataproc Metastore und BigQuery zum Abfragen und Analysieren von Tabellenmetadaten

Dataplex-APIs

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

API der Steuerungsebene

Die Dataplex API der Steuerungsebene ermöglicht das Erstellen und Verwalten der Lake-, Zonen- und Asset-Ressourcen.

  • Lake: Eine Dataplex-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 Lake, um Daten basierend auf Bereitschaft, Arbeitslast oder Organisationsstruktur zu organisieren.

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

Metadata API

Verwenden Sie die Dataplex Metadata API, um Metadaten in Tabellen- und Dateisatzentitäten und -partitionen zu erstellen und zu verwalten. Dataplex scannt Daten-Assets (entweder in einem Lake oder von Ihnen bereitgestellt), um Entitäten und Partitionen zu erstellen. Entitäten und Partitionen verwalten Verweise auf verknüpfte Assets und physische Speicherorte.

Wichtige Konzepte

Tabellenentität:

Metadaten für strukturierte Daten mit klar definierten Schemas. Tabellenentitäten werden durch die Entitäts-ID und den Speicherort der Daten eindeutig identifiziert. Die Metadaten der Tabellenentität 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.
Dateisatz-Entität:

Metadaten zu unstrukturierten Daten, in der Regel ohne Schema. Dateisätze werden durch die Entitäts-ID und den Speicherort der Daten eindeutig identifiziert. Jeder Dateisatz hat ein Datenformat.

Partitionen:

Metadaten für einen Teil der Daten in einer Tabellen- oder Dateisatzentität, die durch eine Reihe von Schlüssel/Wert-Paaren und einen Datenstandort identifiziert werden.

API testen

Auf den Seiten mit der API-Referenz von Dataplex lakes.zones.entitys und lakes.zones.partitions können Sie die Parameter und Felder ansehen, die mit jeder API verknüpft sind. Im Bereich Diese API testen in der Referenzdokumentation für jede API-Methode können Sie API-Anfragen mit verschiedenen Parametern und Feldern stellen. Sie können Anfragen konstruieren, ansehen und senden, ohne Anmeldedaten zu generieren, und dann die vom Dienst zurückgegebenen Antworten aufrufen.

Die folgenden Abschnitte enthalten Informationen zum Verständnis und zur Verwendung der Dataplex Metadata APIs.

Entitäten

Entitäten auflisten

Fügen Sie der Anfrage-URL list entities Filter hinzu, um die Liste der vom Dienst zurückgegebenen Entitäten zu begrenzen.

Entität abrufen

Standardmäßig enthält die Antwort Get Entity grundlegende Entitätsmetadaten. Fügen Sie der Anfrage-URL den Abfrageparameter view hinzu, um zusätzliche Schemametadaten abzurufen.

Kompatibilitätsdetails: Während Dataplex-Metadaten zentral in der Metadata API registriert sind, werden nur Metadatenmetadaten aus Entitäten, 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. Wenn dies nicht der Fall ist, wird der Grund für die Inkompatibilität angezeigt.

Entität aktualisieren

Mit dieser API können Sie Entitätsmetadaten bearbeiten, einschließlich der Metadaten von Ihnen oder Dataplex.

  • Diese API ersetzt alle änderbaren Entity-Felder vollständig. Die folgenden Entitätsfelder sind unveränderlich. Wenn Sie sie in einer Aktualisierungsanfrage angeben, werden sie ignoriert:
  • Geben Sie einen Wert für alle änderbaren Entitätsfelder einschließlich aller Schemafelder an, auch wenn die Werte nicht geändert werden.
  • Geben Sie das Feld etag an. Sie können das ETag abrufen, indem Sie zuerst eine entity.get-Anfrage senden, mit der etag der Entität in der Antwort zurückgegeben wird.
  • Schemafelder aktualisieren:Sie können das von Dataplex erkannte Tabellenschema aktualisieren, um die Genauigkeit zu verbessern:
    • Wenn das Schema ein Dateisatz ist, lassen Sie alle Schemafelder leer.
    • Wenn Sie ein wiederkehrendes 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 im Feld userManaged des Schemas festlegen, ob Sie oder Dataplex Tabellenmetadaten verwalten möchten. Die Standardeinstellung ist „Dataplex 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 werden aktualisiert:
    • Für partitionierte Daten ohne Hive-Format 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. Für eine intuitivere Abfrage können Sie p0, p1 und p2 auf year, month und day aktualisieren.
    • Wenn Sie den Partitionsstil auf HIVE-Stil aktualisieren, ist das Partitionsfeld unveränderlich.
  • Weitere Metadatenfelder aktualisieren:Sie können das automatisch generierte mimeType-, CompressionFormat-, <a\ l10n-encrypted-href="4j47fNIJx6fHidLzUB36HWsP3kvJXL0i3j Die Dataplex-Erkennung verwendet bei der nächsten Ausführung neue Werte. </a>

Entität erstellen

Mit der entities.create API können Sie Tabellen- oder Dateisatz-Metadatenentitäten erstellen. Füllen Sie die erforderlichen und relevanten optionalen Felder aus oder lassen Sie den Dataplex-Discovery-Dienst die optionalen Felder ausfüllen.

Entität löschen

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

Wenn die zugrunde liegenden Daten für eine Tabelle oder einen Dateisatz in einer Rohzone gelöscht werden, werden die Metadaten der Tabelle oder des Dateisatzes beim nächsten Discovery-Scan automatisch gelöscht. Wenn die zugrunde liegenden Daten für eine Tabelle in einer ausgewählten Zone gelöscht werden, werden die Tabellenmetadaten nicht entsprechend gelöscht. Stattdessen wird eine fehlende Datenaktion gemeldet. Löschen Sie die Tabellenmetadatenentität über die Metadata API, um dieses Problem zu beheben.

Partitionen

Partitionen auflisten

Fügen Sie der Anfrage-URL list partitions Filter hinzu, um die Liste der vom Dienst zurückgegebenen Partitionen zu begrenzen.

Beispiele:

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

Partition abrufen

Zum Abrufen einer Partition müssen Sie die Anfrage-URL abschließen. Fügen Sie dazu die Partitionsschlüsselwerte an das Ende der URL an und formatieren Sie sie so: partitions/value1/value2/…./value10.

Beispiel: Wenn die Partition {Country=US, State=CA, City=Sunnyvale} enthält, sollte die Get-Anfrage-URL 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 auf /partitions/US%253ACA/CA%2523Sunnyvale endet. Das Feld für den Namen in der Antwort behält das codierte Format bei.

Partition erstellen

Mit der partitions.create API können Sie eine benutzerdefinierte Partition für Ihre Datenquelle erstellen. Geben Sie das erforderliche Feld location mit einem Cloud Storage-Pfad an.

Partition löschen

Füllen Sie die Anfrage-URL aus, indem Sie die Schlüssel/Wert-Paare der Partition an das Ende der Anfrage-URL anhängen. Diese muss als partitions/value1/value2/…./value10 gelesen werden.

Beispiel: Wenn die Partition Werte für {Country=US, State=CA, City=Sunnyvale} enthält, endet die Anfrage-URL mit /partitions/US/CA/Sunnyvale.

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

Nächste Schritte