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 aufRECORD
. - Sie können im Feld
userManaged
des Schemas festlegen, ob Sie oder Dataplex Tabellenmetadaten verwalten möchten. Die Standardeinstellung ist „Dataplex verwaltet“. WennuserManaged
auf „true“ gesetzt ist, ist diese Einstellung in den Informationen enthalten, die von einerentities.get
-Anfrage zurückgegeben werden, wenn EntityView aufSCHEMA
oderFULL
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üsselp0
,p1
undp2
generiert. Für eine intuitivere Abfrage können Siep0
,p1
undp2
aufyear
,month
undday
aktualisieren. - Wenn Sie den Partitionsstil auf HIVE-Stil aktualisieren, ist das Partitionsfeld unveränderlich.
- Für partitionierte Daten ohne Hive-Format generiert Dataplex Discovery automatisch Partitionsschlüssel. Für den Datenpfad
- 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
.