Exportieren Sie Featurewerte für alle Entitäten eines einzelnen Entitätstyps in eine BigQuery-Tabelle oder einen Cloud Storage-Bucket. Sie können einen Snapshot abrufen oder Featurewerte vollständig exportieren. Ein Snapshot gibt einen einzelnen Wert pro Feature zurück, während ein vollständiger Export mehrere Werte pro Feature zurückgeben kann. Sie können beim Exportieren von Featurewerten weder bestimmte Entitäts-IDs auswählen noch mehrere Entitätstypen einbeziehen.
Das Exportieren von Featurewerten ist für die Archivierung oder die Durchführung einer Ad-hoc-Analyse Ihrer Daten nützlich. Sie können beispielsweise regelmäßige Snapshots Ihres Feature Stores speichern, um den Status zu verschiedenen Zeitpunkten zu speichern. Wenn Sie Featurewerte zum Erstellen eines Trainings-Datasets abrufen möchten, verwenden Sie stattdessen die Batchbereitstellung.
Snapshot und vollständiger Export - Vergleich
Sowohl mit dem Snapshot als auch mit dem vollständigen Export können Sie Daten abfragen, indem Sie einen einzelnen Zeitstempel (entweder den Beginn oder das Ende) oder beide Zeitstempel angeben. Für Snapshots gibt der Vertex AI Feature Store (Legacy) den neuesten Featurewert innerhalb eines bestimmten Zeitraums zurück. In der Ausgabe ist der zugehörige Zeitstempel mit jedem Featurewert der Snapshot-Zeitstempel (nicht der Featurewert-Zeitstempel).
Bei vollständigen Exporten gibt der Vertex AI Feature Store (Legacy) alle Featurewerte innerhalb eines bestimmten Zeitraums zurück. In der Ausgabe ist der zugehörige Zeitstempel mit jedem Featurewert der Feature-Zeitstempel (der Zeitstempel, der angibt, wann der Featurewert aufgenommen wurde).
Die folgende Tabelle fasst zusammen, was Vertex AI Feature Store (Legacy) auf der Grundlage der von Ihnen gewählten Option und der von Ihnen angegebenen Zeitstempel zurückgibt.
Wahltaste | Nur Beginn (einschließlich) | Nur Ende (einschließlich) | Beginn und Ende (einschließlich) |
---|---|---|---|
Snapshot | Ab dem aktuellen Zeitpunkt (dem Zeitpunkt des Eingangs der Anfrage) wird der neueste Wert zurückgegeben, rückblickend bis zum Beginn. Der Snapshot-Zeitstempel wird auf die aktuelle Zeit gesetzt. |
Beginnend mit der Endzeit wird der letzte Wert zurückgegeben, wobei für jedes Feature bis zum allerersten Wert zurückgegangen wird. Der Snapshot-Zeitstempel wird auf die angegebene Endzeit gesetzt. |
Gibt den neuesten Wert innerhalb des angegebenen Zeitraums zurück. Der Snapshot-Zeitstempel wird auf die angegebene Endzeit gesetzt. |
Vollständiger Export | Gibt alle Werte zur Startzeit und nach der Startzeit und bis zur aktuellen Zeit (zu dem Zeitpunkt des Sendens der Anfrage) zurück. | Gibt alle Werte bis zur Endzeit zurück und reicht bis zum ersten Wert jedes Features zurück. | Gibt alle Werte innerhalb des angegebenen Zeitraums zurück. |
Nullwerte
Wenn bei Snapshots der neueste Featurewert für einen bestimmten Zeitstempel null ist, gibt der Vertex AI Feature Store (Legacy) den vorherigen Nicht-Null-Featurewert zurück. Wenn keine vorherigen Nicht-Null-Werte vorhanden sind, gibt Vertex AI Feature Store (Legacy) null zurück.
Wenn bei vollständigen Exporten ein Featurewert zu einem bestimmten Zeitstempel null ist, gibt Vertex AI Feature Store (Legacy) für diesen Zeitstempel null zurück.
Beispiele
Angenommen, Sie haben die folgenden Werte in einem Feature Store, in dem die Werte für Feature_A
und Feature_B
denselben Zeitstempel haben:
Entitäts-ID | Zeitstempel des Featurewerts | Feature_A | Feature_B |
---|---|---|---|
123 | T1 | A_T1 | B_T1 |
123 | T2 | A_T2 | NULL |
123 | T3 | A_T3 | NULL |
123 | T4 | A_T4 | B_T4 |
123 | T5 | NULL | B_T5 |
Snapshot
Für Snapshots gibt der Vertex AI Feature Store (Legacy) die folgenden Werte basierend auf den angegebenen Zeitstempelwerten zurück:
- Wenn nur die Startzeit auf
T3
gesetzt ist, gibt der Snapshot die folgenden Werte zurück:
Entitäts-ID | Snapshot-Zeitstempel | Feature_A | Feature_B |
---|---|---|---|
123 | CURRENT_TIME | A_T4 | B_T5 |
- Wenn nur die Endzeit auf
T3
gesetzt ist, gibt der Snapshot die folgenden Werte zurück:
Entitäts-ID | Snapshot-Zeitstempel | Feature_A | Feature_B |
---|---|---|---|
123 | T3 | A_T3 | B_T1 |
- Wenn die Startzeit und Endzeit auf
T2
undT3
festgelegt sind, gibt der Snapshot die folgenden Werte zurück:
Entitäts-ID | Snapshot-Zeitstempel | Feature_A | Feature_B |
---|---|---|---|
123 | T3 | A_T3 | NULL |
Vollständiger Export
Bei vollständigen Exporten gibt der Vertex AI Feature Store (Legacy) die folgenden Werte basierend auf den angegebenen Zeitstempelwerten zurück:
- Wenn nur die Startzeit auf
T3
gesetzt ist, gibt der vollständige Export die folgenden Werte zurück:
Entitäts-ID | Zeitstempel des Featurewerts | Feature_A | Feature_B |
---|---|---|---|
123 | T3 | A_T3 | NULL |
123 | T4 | A_T4 | B_T4 |
123 | T5 | NULL | B_T5 |
- Wenn nur die Endzeit auf
T3
gesetzt ist, gibt der vollständige Export die folgenden Werte zurück:
Entitäts-ID | Zeitstempel des Featurewerts | Feature_A | Feature_B |
---|---|---|---|
123 | T1 | A_T1 | B_T1 |
123 | T2 | A_T2 | NULL |
123 | T3 | A_T3 | NULL |
- Wenn die Start- und Endzeit auf
T2
undT4
festgelegt sind, gibt der vollständige Export die folgenden Werte zurück:
Entitäts-ID | Zeitstempel des Featurewerts | Feature_A | Feature_B |
---|---|---|---|
123 | T2 | A_T2 | NULL |
123 | T3 | A_T3 | NULL |
123 | T4 | A_T4 | B_T4 |
Featurewerte exportieren
Wenn Sie Featurewerte exportieren, wählen Sie aus, welche Features abgefragt werden sollen und ob es sich um einen Snapshot oder einen vollständigen Export handelt. In den folgenden Abschnitten wird für jede Option ein Beispiel angegeben.
Bei beiden Optionen muss sich das Ausgabeziel in derselben Region wie der Quell-Feature Store befinden. Wenn sich Ihr Feature Store beispielsweise in us-central1
befindet, muss sich der Cloud Storage-Ziel-Bucket oder die BigQuery-Tabelle ebenfalls in us-central1
befinden.
Snapshot
Exportieren Sie die neuesten Featurewerte für einen bestimmten Zeitraum.
Web-UI
Verwenden Sie eine andere Methode. Sie können keine Featurewerte aus der Google Cloud Console exportieren.
REST
Senden Sie mit der Methode entityTypes.exportFeatureValues eine POST-Anfrage, um Featurewerte zu exportieren.
Im folgenden Beispiel wird eine BigQuery-Tabelle ausgegeben, aber Sie können auch in einen Cloud Storage-Bucket ausgeben. Für jedes Ausgabeziel gelten möglicherweise einige Voraussetzungen, bevor Sie eine Anfrage senden können. Wenn Sie beispielsweise einen Tabellennamen für das Feld bigqueryDestination
angeben, benötigen Sie ein vorhandenes Dataset. Diese Anforderungen sind in der API-Referenz dokumentiert.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Region, in der sich der Feature Store befindet. Beispiel:
us-central1
. - PROJECT_ID: Ihre Projekt-ID.
- FEATURESTORE_ID: ID des Featurestores.
- ENTITY_TYPE_ID: ID des Entitätstyps.
- START_TIME und END_TIME: (Optional) Wenn Sie nur die Startzeit angeben, wird der neueste Wert ab der aktuellen Zeit (wann die Anfrage gesendet wurde) zurückgegeben und bis zur Startzeit zurückgeblickt. Wenn Sie nur die Endzeit angeben, wird der neueste Wert zurückgegeben ab der Endzeit beginnend (einschließlich) und bis zum ersten Wert zurückgegangen. Wenn Sie eine Startzeit und ein Endzeit angeben, wird der neueste Wert innerhalb des angegebenen Zeitraums (einschließlich) zurückgegeben. Wenn Sie keines von beiden angeben, werden die neuesten Werte für jedes Feature ab der aktuellen Zeit zurückgegeben und bis zurück zum ersten Wert geschaut.
- DATASET_NAME: Name des BigQuery-Ziel-Datasets.
- TABLE_NAME: Name der BigQuery-Zieltabelle.
- FEATURE_ID: ID eines oder mehrerer Features. Geben Sie ein einzelnes
*
(Sternchen) an, um alle Features auszuwählen.
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues
JSON-Text der Anfrage:
{ "snapshotExport": { "start_time": "START_TIME", "snapshot_time": "END_TIME" }, "destination" : { "bigqueryDestination": { "outputUri": "bq://PROJECT_ID.DATASET_NAME.TABLE_NAME" } }, "featureSelector": { "idMatcher": { "ids": ["FEATURE_ID", ...] } } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportFeatureValuesOperationMetadata", "genericMetadata": { "createTime": "2021-12-03T22:55:25.974976Z", "updateTime": "2021-12-03T22:55:25.974976Z" } } }
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Java-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Java API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Node.js-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Node.js API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
Informationen zum Installieren und Verwenden des Vertex AI SDK für Python finden Sie unter Vertex AI SDK für Python verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI SDK for Python API.
Vollständiger Export
Exportieren Sie alle Featurewerte innerhalb eines bestimmten Zeitraums.
Web-UI
Verwenden Sie eine andere Methode. Sie können keine Featurewerte aus der Google Cloud Console exportieren.
REST
Senden Sie mit der Methode entityTypes.exportFeatureValues eine POST-Anfrage, um Featurewerte zu exportieren.
Im folgenden Beispiel wird eine BigQuery-Tabelle ausgegeben, aber Sie können auch in einen Cloud Storage-Bucket ausgeben. Für jedes Ausgabeziel gelten möglicherweise einige Voraussetzungen, bevor Sie eine Anfrage senden können. Wenn Sie beispielsweise einen Tabellennamen für das Feld bigqueryDestination
angeben, benötigen Sie ein vorhandenes Dataset. Diese Anforderungen sind in der API-Referenz dokumentiert.
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Region, in der sich der Feature Store befindet. Beispiel:
us-central1
. - PROJECT_ID: Ihre Projekt-ID.
- FEATURESTORE_ID: ID des Featurestores.
- ENTITY_TYPE_ID: ID des Entitätstyps.
- START_TIME und END_TIME: (Optional) Wenn Sie nur den Beginn angeben, werden alle Werte zwischen der aktuellen Zeit (wenn die Anfrage gesendet wird) und dem Beginn (einschließlich) zurückgegeben. Wenn Sie nur das Ende angeben, werden alle Werte zwischen dem Ende (einschließlich) und dem Zeitstempel des ersten Werts (für jedes Feature) zurückgegeben. Wenn Sie einen Beginn und ein Ende angeben, werden alle Werte innerhalb des angegebenen Zeitraums (einschließlich) zurückgegeben. Wenn Sie keines von beidem angeben, werden alle Werte zwischen der aktuellen Zeit und dem Zeitstempel des ersten Werts (für jedes Feature) zurückgegeben.
- DATASET_NAME: Name des BigQuery-Ziel-Datasets.
- TABLE_NAME: Name der BigQuery-Zieltabelle.
- FEATURE_ID: ID eines oder mehrerer Features. Geben Sie ein einzelnes
*
(Sternchen) an, um alle Features auszuwählen.
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues
JSON-Text der Anfrage:
{ "fullExport": { "start_time": "START_TIME", "end_time": "END_TIME" }, "destination" : { "bigqueryDestination": { "outputUri": "bq://PROJECT.DATASET_NAME.TABLE_NAME" } }, "featureSelector": { "idMatcher": { "ids": ["FEATURE_ID", ...] } } }
Wenn Sie die Anfrage senden möchten, wählen Sie eine der folgenden Optionen aus:
curl
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues"
PowerShell
Speichern Sie den Anfragetext in einer Datei mit dem Namen request.json
und führen Sie den folgenden Befehl aus:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-ContentType: "application/json; charset=utf-8" `
-InFile request.json `
-Uri "https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues" | Select-Object -Expand Content
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1.ExportFeatureValuesOperationMetadata", "genericMetadata": { "createTime": "2021-12-03T22:55:25.974976Z", "updateTime": "2021-12-03T22:55:25.974976Z" } } }
Java
Bevor Sie dieses Beispiel anwenden, folgen Sie den Java-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Java API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Node.js
Bevor Sie dieses Beispiel anwenden, folgen Sie den Node.js-Einrichtungsschritten in der Vertex AI-Kurzanleitung zur Verwendung von Clientbibliotheken. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI Node.js API.
Richten Sie zur Authentifizierung bei Vertex AI Standardanmeldedaten für Anwendungen ein. Weitere Informationen finden Sie unter Authentifizierung für eine lokale Entwicklungsumgebung einrichten.
Weitere Sprachen
Informationen zum Installieren und Verwenden des Vertex AI SDK für Python finden Sie unter Vertex AI SDK für Python verwenden. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI SDK for Python API.
Nächste Schritte
- Featurewerte im Batchverfahren aufnehmen
- Features über die Onlinebereitstellung bereitstellen
- Sehen Sie sich das Kontingent für gleichzeitige Batchjobs von Vertex AI Feature Store (Legacy) an.
- Fehlerbehebung bei häufigen Problemen mit Vertex AI Feature Store (Legacy)