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 aufRECORD
. - Sie können die
userManaged
des Schemas, um anzugeben, ob Sie oder Dataplex Tabellenmetadaten verwaltet. Die Standardeinstellung ist „Von Dataplex verwaltet“. WennuserManaged
auf „wahr“ gesetzt ist, wird diese Einstellung in den Informationen enthalten sein, die von einerentities.get
-Anfrage zurückgegeben werden, wenn EntityView aufSCHEMA
oderFULL
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üsselp0
,p1
undp2
generiert. Um die Abfrage intuitiver zu gestalten, können Siep0
,p1
undp2
nachyear
,month
undday
. - Wenn Sie den Partitionsstil auf HIVE-Stil aktualisieren, ist das Partitionsfeld unveränderlich.
- Für nicht im Hive-Format partitionierte Daten generiert Dataplex Discovery automatisch Partitionsschlüssel. Für den Datenpfad
- 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
.