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 zum Extrahieren von Tabellenmetadaten in Tabellenentitäten
- Unstrukturierte Daten wie Bilder und Texte zum Extrahieren von Dateisatzmetadaten in Dateisatzentitäten umwandeln.
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 können Dataplex-Metadaten auch mit einer der folgenden Methoden 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 Ressourcen zusammengefasst mit ihnen teilen.
API der Steuerungsebene
Mit der Dataplex-Steuerungsebenen-API können Sie der Lake-, Zonen- und Asset-Ressourcen.
See: Eine Dataplex-Dienstinstanz, mit der Speicherressourcen in Projekten innerhalb eines Unternehmens.
Zone: Eine logische Gruppierung von Assets in einem Lake. Mehrere Zonen in einem Lake verwenden um Daten nach 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.
Metadaten-API
Verwenden Sie die Dataplex Metadata API, um Metadaten in Tabellen- und Dateisatzentitäten sowie Partitionen. Dataplex scannt Daten Assets in einem Lake oder von Ihnen bereitgestellt werden, um Entitäten und Partitionen zu erstellen. Entitäten und Partitionen behalten Verweise auf verknüpfte und physischen Speicherstandorten.
Wichtige Konzepte
- Tabellenentität:
Metadaten für strukturierte Daten mit klar definierten Schemas. Tabellenentitäten sind und durch die Entitäts-ID und den Speicherort der Daten eindeutig identifiziert werden. Metadaten der Tabellenentität sind in BigQuery und Dataproc Metastore abfragbar:
- 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 sind und durch die Entitäts-ID und den Speicherort der Daten eindeutig identifiziert werden. Jeder Dateisatz 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
Um die Liste der vom Dienst zurückgegebenen Entitäten einzuschränken, fügen Sie
Filter
Suchparameter an die list entities
-Anfrage-URL an.
Entität abrufen
Standardmäßig enthält die Antwort Get Entity
grundlegende Entitäten
Metadaten. Fügen Sie zum Abrufen zusätzlicher Schemametadaten den
ansehen
in die Anfrage-URL ein.
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, die angibt, ob 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 der Frage, ob Sie oder Dataplex verwaltet Entitätsmetadaten.
- Diese API führt einen vollständigen Ersatz aller änderbaren Entity (Entität). Die folgenden Entitätsfelder sind unveränderlich und wenn Sie sie in einer Aktualisierung angeben werden sie ignoriert: <ph type="x-smartling-placeholder">
- Geben Sie einen Wert für alle änderbaren Entitätsfelder an, einschließlich aller schema-Feldern. auch wenn die Werte nicht geändert werden.
- Stellen Sie den
ETag
ein. 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 Tabellenschema aktualisieren, das über
Dataplex, 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
. Um ein STRUCT-Feld zu definieren, legen Sie den Typ anRECORD
. - Sie können die
userManaged
des Schemas, um anzugeben, ob Sie oder Dataplex Tabellenmetadaten verwaltet. Die Standardeinstellung ist Dataplex verwaltet werden. WennuserManaged
auf „true“ gesetzt ist, gilt diese Einstellung in den von einementities.get
zurückgegebenen Informationen Anfrage, wenn EntityView ist aufSCHEMA
oderFULL
festgelegt.
- Partitionsfelder aktualisieren:
<ph type="x-smartling-placeholder">
- </ph>
- Für nicht nach Hive-Stil partitionierte Daten: Dataplex-Erkennung
werden automatisch Partitionsschlüssel erstellt. Für den Datenpfad
gs://root/2020/12/31
, Partitionsschlüsselp0
,p1
undp2
sind generiert. Um die Abfrage intuitiver zu gestalten, können Siep0
,p1
undp2
nachyear
,month
undday
. - Wenn Sie den Partitionsstil auf HIVE-Stil, Das Partitionsfeld ist unveränderlich.
- Für nicht nach Hive-Stil partitionierte Daten: Dataplex-Erkennung
werden automatisch Partitionsschlüssel erstellt. Für den Datenpfad
- Andere Metadatenfelder aktualisieren: Sie können automatisch generierte mimeType, CompressionFormat CsvOptions und JsonOptions Felder, die die Dataplex-Erkennung unterstützen. Dataplex Discovery verwendet bei der nächsten Ausführung neue Werte.
Entität erstellen
Verwenden Sie die entities.create
API, um Metadatenentitäten für Tabellen oder Dateisätze zu erstellen.
Füllen Sie die erforderlichen und relevanten optionalen Felder aus oder lassen Sie Dataplex
Discovery-Dienst füllen Sie optionale Felder aus.
Entität löschen
- Stellen Sie den
ETag
ein. 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.
Wenn zugrunde liegende Daten für eine Tabelle oder einen Dateisatz in einer Rohzone gelöscht werden, wird die Tabelle oder werden die Metadaten des Dateisatzes bei der nächsten Erkennungsscan. Wenn zugrunde liegende Daten für eine Tabelle in einer ausgewählten Zone werden die Metadaten der Tabelle nicht entsprechend gelöscht, Datenaktion gemeldet wird. 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
Um eine Partition abzurufen, müssen Sie die Anfrage-URL vervollständigen, indem Sie die
Partitionsschlüsselwerte am Ende der URL an, die so formatiert sind:
partitions/value1/value2/…./value10
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. url_encode(url_encode(value))
kann beispielsweise
werden zum Codieren von „US:CA/CA#Sunnyvale“ verwendet. sodass die Anfrage-URL endet,
mit /partitions/US%253ACA/CA%2523Sunnyvale
. Das Feld „name“ in der Antwort
behält das codierte Format bei.
Partition erstellen
Um eine benutzerdefinierte Partition für Ihre Datenquelle zu erstellen, verwenden Sie den
partitions.create
-API. 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
.