Dataplex-Metadaten

In diesem Leitfaden werden Dataplex-Metadaten und wie Sie diese mit Dataplex APIs verwalten können.

Überblick

Dataplex scannt Folgendes:

  • Strukturierte und semistrukturierte Datenassets in Data Lakes, um Tabellenmetadaten in Tabellenentitäten zu extrahieren.
  • Unstrukturierte Daten wie Bilder und Texte zum Extrahieren von Dateisatzmetadaten in Dateisatzentitäten

Mit der Dataplex Metadata API können Sie eine der folgenden Aktionen ausführen:

  • Metadaten von Tabellen- und Dateisatzentitäten ansehen, bearbeiten und löschen
  • Eigene Tabellen- oder Dateisatz-Entitätsmetadaten erstellen

Sie können Dataplex-Metadaten auch mit einer der folgenden Methoden analysieren:

  • Data Catalog zum Suchen und Taggen
  • Dataproc Metastore und BigQuery für die Abfrage von Tabellenmetadaten und die Analyseverarbeitung

Dataplex-APIs

In diesem Abschnitt werden die Dataplex APIs und die zugehörigen Schlüsselressourcen zusammengefasst.

API der Steuerungsebene

Mit der Dataplex-Steuerungsebenen-API können die Lake-, Zonen- und Asset-Ressourcen erstellt und verwaltet werden.

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

  • Zone: Eine logische Gruppierung von Assets in einem Lake. Verwenden Sie mehrere Zonen in einem Lake, um Daten nach Verfügbarkeit, 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 Dateisatzentitäten und -partitionen erstellen und verwalten. Dataplex scannt Daten-Assets, entweder in einem Lake oder von Ihnen bereitgestellt, um Entitäten und Partitionen zu erstellen. Entitäten und Partitionen behalten Verweise auf verknüpfte Assets und physische Speicherorte bei.

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. Dateisätze werden eindeutig durch die Entitäts-ID und den Datenspeicherort identifiziert. Jeder Dateisatz hat ein Datenformat.

Partitionen:

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

API testen

Auf den Referenzdokumentationsseiten der Dataplex API lakes.zones.entities und lakes.zones.partitions können Sie die mit den einzelnen APIs verknüpften Parameter und Felder ansehen. Im Bereich API testen finden Sie die Referenzdokumentation für jede API-Methode. Hier erfahren Sie, wie Sie API-Anfragen mit unterschiedlichen Parametern und Feldern senden. Sie können Anfragen erstellen, anzeigen und senden, ohne Anmeldedaten generieren zu müssen. Anschließend können Sie 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

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

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 Metadaten API registriert sind, werden in BigQuery und Dataproc Metastore nur Metadaten von Entitätstabellen veröffentlicht, die mit BigQuery und Apache Hive Metastore kompatibel sind. Die Get Entity API gibt eine CompatibilityStatus-Nachricht zurück, die angibt, ob die Tabellenmetadaten mit BigQuery und Hive Metastore kompatibel sind, und falls nicht, den Grund für die Inkompatibilität.

Entität aktualisieren

Verwenden Sie diese API, um Entitätsmetadaten zu bearbeiten, einschließlich ob Sie oder Dataplex Entitätsmetadaten verwalten werden.

  • Diese API führt eine vollständige Ersetzung aller änderbaren Entity-Felder durch. 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 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 den etag der Entität in der Antwort zurückgibt.
  • Schemafelder aktualisieren:Sie können das von Dataplex erkannte Tabellenschema aktualisieren, um seine Genauigkeit zu verbessern:
    • Wenn das Schema ein Dateisatz ist, lassen Sie alle Schemafelder leer.
    • Wenn Sie ein wiederkehrendes Feld definieren möchten, legen Sie für mode den Wert REPEATED fest. Legen Sie für type den Wert RECORD fest, um ein Strukturfeld zu definieren.
    • Sie können das Feld userManaged des Schemas festlegen, um anzugeben, ob Tabellenmetadaten von Ihnen oder Dataplex verwaltet werden. 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 festgelegt ist.
  • Partitionsfelder aktualisieren:
    • Für nicht im Hive-Stil partitionierte Daten werden von der Dataplex-Erkennung automatisch Partitionsschlüssel generiert. 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 bzw. day aktualisieren.
    • Wenn Sie den Partitionsstil auf HIVE-Stil aktualisieren, ist das Partitionsfeld unveränderlich.
  • Andere Metadatenfelder aktualisieren:Sie können automatisch generierte mimeType-, CompressionFormat-, <a\ l10n-encrypted-href="4j47fNIJx6fHidLzUB36HWsP3kvJXL0i3UcbX/IwKQtqc4criDhrFJJZ9vTqd2dJsonOptions Die Dataplex-Erkennung verwendet bei der nächsten Ausführung neue Werte. </a\>

Entität erstellen

Verwenden Sie die entities.create API, um Tabellen- oder Dateisatz-Metadatenentitäten zu erstellen. Füllen Sie die erforderlichen und relevanten optionalen Felder aus oder lassen Sie den Dataplex-Erkennungsdienst 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 entities.get-Anfrage senden, die den etag der Entität in der Antwort zurückgibt.

Wenn zugrunde liegende Daten für eine Tabelle oder einen Dateisatz in einer Rohzone gelöscht werden, werden die Tabellen- oder Dateisatzmetadaten beim nächsten Discovery-Scan automatisch gelöscht. Wenn zugrunde liegende Daten für eine Tabelle in einer ausgewählten Zone gelöscht werden, werden nicht auch die Metadaten der Tabelle gelöscht. Stattdessen wird eine Aktion für fehlende Daten gemeldet. Löschen Sie die Metadatenentität der Tabelle explizit über die Metadata API, um dieses Problem zu beheben.

Partitionen

Partitionen auflisten

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

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 vervollständigen. Dazu hängen Sie die Partitionsschlüsselwerte an das Ende der URL im Format partitions/value1/value2/…./value10 an.

Beispiel: Wenn eine Partition die Werte {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. Beispielsweise kann url_encode(url_encode(value)) verwendet werden, um „US:CA/CA#Sunnyvale“ so zu codieren, dass die Anfrage-URL mit /partitions/US%253ACA/CA%2523Sunnyvale endet. Das Namensfeld 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 im erforderlichen Feld location einen Cloud Storage-Pfad an.

Partition löschen

Vervollständigen Sie die Anfrage-URL, indem Sie Partitionierungsschlüsselwerte an das Ende der Anfrage-URL im Format partitions/value1/value2/…./value10 anhängen.

Beispiel: Wenn eine Partition die Werte {Country=US, State=CA, City=Sunnyvale} enthält, 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