Dataplex-Metadaten

In diesem Leitfaden werden Dataplex-Metadaten und die Verwaltung mit Dataplex APIs beschrieben.

Ü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:

  • Tabellen- und Dateisatzmetadaten aufrufen, bearbeiten und löschen
  • Eigene Metadaten für Tabellen oder Dateisätze erstellen

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

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

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 gespeichert sind und einer Zone in einem Data Lake zugeordnet 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, die sich entweder in einem Data Lake befinden 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. In BigQuery und Dataproc Metastore können Sie Abfragen zu Metadaten von Tabellenentitäten stellen:

  • 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.
Datensatzentitä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 einen Teil der Daten in einer Tabelle oder Dateiengruppe, die durch eine Reihe von Schlüssel/Wert-Paaren und einem Speicherort identifiziert werden.

API testen

Auf den Seiten der API-Referenzdokumentation für die Dataplex-APIs lakes.zones.entities und lakes.zones.partitions finden Sie die Parameter und Felder, die mit den einzelnen APIs verknüpft sind. Verwenden Sie das Steuerfeld API testen, das in der Referenzdokumentation für jede API-Methode enthalten ist, um API-Anfragen mit verschiedenen Parametern und Feldern zu senden. Sie können Anfragen erstellen, ansehen und senden, ohne Anmeldedaten generieren zu müssen, und sich dann die vom Dienst zurückgegebenen Antworten ansehen.

In den folgenden Abschnitten finden Sie Informationen zum Verständnis und zur Verwendung der Dataplex-Metadaten-APIs.

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 zwar zentral in der Metadaten-API registriert, aber nur Metadaten für Entitätstabellen, die mit BigQuery und Apache Hive Metastore kompatibel sind, werden in BigQuery und Dataproc Metastore veröffentlicht. 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

Mit dieser API können Sie Entitätsmetadaten bearbeiten, z. B. festlegen, ob Sie oder Dataplex die Entitätsmetadaten verwalten.

  • Mit dieser API werden alle änderbaren Felder der Entität 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 sich die Werte nicht ändern.
  • 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.
  • 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.
    • Wenn Sie ein wiederkehrendes Feld definieren möchten, legen Sie den Modus auf REPEATED fest. Wenn Sie ein Strukturfeld definieren möchten, setzen Sie den Typ auf RECORD.
    • Sie können das Feld userManaged des Schemas festlegen, um anzugeben, ob Sie oder Dataplex die Tabellenmetadaten verwalten. 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 werden von Dataplex Discovery automatisch Partitionsschlüssel 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-Stil aktualisieren, ist das Partitionsfeld unveränderlich.
  • Andere Metadatenfelder aktualisieren:Sie können die automatisch generierten Felder mimeType, CompressionFormat, CsvOptions und JsonOptions aktualisieren, um die Datensuche in Dataplex zu 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 das Metadatenentitätsobjekt der Tabelle über die Metadaten-API, um dieses Problem zu beheben.

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 Suchparameter vom Typ filter 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 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}, sollte die URL der Get-Anfrage mit /partitions/US/CA/Sunnyvale enden.

Wichtig:Die angehängten URL-Werte müssen doppelt codiert sein. 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 für das erforderliche Feld Speicherort einen Cloud Storage-Pfad an.

Partition löschen

Schließen Sie die Anfrage-URL ab, indem Sie Partitionsschlüsselwerte an das Ende der Anfrage-URL anhängen, die so formatiert sind, dass sie als partitions/value1/value2/…./value10 gelesen werden.

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