Vous pouvez exporter les valeurs des caractéristiques pour toutes les entités d'un même type vers une table BigQuery ou un bucket Cloud Storage. Vous pouvez choisir d'obtenir un instantané ou d'exporter la totalité des valeurs des caractéristiques. Un instantané renvoie une seule valeur par caractéristique, à la différence d'une exportation complète qui peut renvoyer plusieurs valeurs par caractéristique. Vous ne pouvez pas sélectionner des ID d'entité spécifiques ou inclure plusieurs types d'entités lors de l'exportation des valeurs de caractéristiques.
L'exportation des valeurs de caractéristiques est utile pour l'archivage ou l'analyse ad hoc de vos données. Par exemple, vous pouvez stocker des instantanés réguliers de votre magasin de caractéristiques pour enregistrer son état à différents moments. Si vous devez obtenir des valeurs de caractéristiques pour créer un ensemble de données d'entraînement, utilisez plutôt la récupération de lots.
Comparaison des instantanés et des exportations complètes
Les options d'instantané et d'exportation complète vous permettent toutes deux d'interroger les données en spécifiant un seul horodatage (heure de début ou heure de fin) ou les deux. Pour les instantanés, Vertex AI Feature Store (ancien) renvoie la dernière valeur des caractéristiques dans la période donnée. Dans le résultat, l'horodatage associé à chaque valeur de caractéristique est l'horodatage de l'instantané (et non l'horodatage de la valeur de caractéristique).
Pour les exportations complètes, Vertex AI Feature Store (ancien) renvoie toutes les valeurs des caractéristiques au cours d'une période donnée. Dans le résultat, l'horodatage associé à chaque valeur de caractéristique est l'horodatage de la caractéristique (l'horodatage spécifié lors de l'ingestion de la valeur de la caractéristique).
Le tableau suivant récapitule ce que renvoie Vertex AI Feature Store (ancien) en fonction de l'option que vous choisissez et des horodatages que vous fournissez.
Option | Heure de début uniquement (incluse) | Heure de fin uniquement (incluse) | Heure de début et de fin (incluses) |
---|---|---|---|
Instantané | À partir de l'heure actuelle (heure de réception de la requête), renvoie la dernière valeur identifiée en remontant jusqu'à l'heure de début. Le code temporel de l'instantané est défini sur l'heure actuelle. |
En partant de l'heure de fin, renvoie la dernière valeur, en remontant jusqu'à la toute première valeur de chaque caractéristique. L'horodatage de l'instantané est défini sur l'heure de fin spécifiée. |
Renvoie la dernière valeur dans la période spécifiée. L'horodatage de l'instantané est défini sur l'heure de fin spécifiée. |
Exportation complète | Renvoie toutes les valeurs pendant et après l'heure de début, jusqu'à l'heure actuelle (heure d'envoi de la requête). | Renvoie toutes les valeurs jusqu'à l'heure de fin, à partir de la toute première valeur pour chaque caractéristique. | Renvoie toutes les valeurs comprises dans la période spécifiée. |
Valeurs Null
Pour les instantanés, si la dernière valeur de caractéristique vaut "null" à un horodatage donné, Vertex AI Feature Store (ancien) renvoie la valeur de caractéristique non nulle précédente. S'il n'y a aucune valeur non nulle précédente, Vertex AI Feature Store (ancien) renvoie la valeur "null".
Pour les exportations complètes, si une valeur de caractéristique est "null" à un horodatage donné, Vertex AI Feature Store (ancien) renvoie la valeur "null" pour cet horodatage.
Exemples
Par exemple, supposons que vous disposiez des valeurs suivantes dans un magasin de caractéristiques, où les valeurs de Feature_A
et de Feature_B
partagent le même code temporel :
ID d'entité | Code temporel de la valeur de la caractéristique | 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 |
Instantané
Pour les instantanés, Vertex AI Feature Store (ancien) renvoie les valeurs suivantes en fonction des valeurs d'horodatage données :
- Si seule l'heure de start est définie sur
T3
, l'instantané renvoie les valeurs suivantes :
ID d'entité | Code temporel de l'instantané | Feature_A | Feature_B |
---|---|---|---|
123 | CURRENT_TIME | A_T4 | B_T5 |
- Si seule l'heure de fin est définie sur
T3
, l'instantané renvoie les valeurs suivantes :
ID d'entité | Code temporel de l'instantané | Feature_A | Feature_B |
---|---|---|---|
123 | T3 | A_T3 | B_T1 |
- Si les heures de début et de fin sont définies sur
T2
etT3
, l'instantané renvoie les valeurs suivantes :
ID d'entité | Code temporel de l'instantané | Feature_A | Feature_B |
---|---|---|---|
123 | T3 | A_T3 | NULL |
Exportation complète
Pour les exportations complètes, Vertex AI Feature Store (ancien) renvoie les valeurs suivantes en fonction des valeurs d'horodatage données :
- Si seule l'heure de start est définie sur
T3
, l'exportation complète renvoie les valeurs suivantes :
ID d'entité | Code temporel de la valeur de la caractéristique | Feature_A | Feature_B |
---|---|---|---|
123 | T3 | A_T3 | NULL |
123 | T4 | A_T4 | B_T4 |
123 | T5 | NULL | B_T5 |
- Si seule l'heure de fin est définie sur
T3
, l'exportation complète renvoie les valeurs suivantes :
ID d'entité | Code temporel de la valeur de la caractéristique | Feature_A | Feature_B |
---|---|---|---|
123 | T1 | A_T1 | B_T1 |
123 | T2 | A_T2 | NULL |
123 | T3 | A_T3 | NULL |
- Si les heures de début et de fin sont définies sur
T2
etT4
, l'exportation complète renvoie les valeurs suivantes :
ID d'entité | Code temporel de la valeur de la caractéristique | Feature_A | Feature_B |
---|---|---|---|
123 | T2 | A_T2 | NULL |
123 | T3 | A_T3 | NULL |
123 | T4 | A_T4 | B_T4 |
Exporter les valeurs des caractéristiques
Lorsque vous exportez des valeurs de caractéristiques, vous choisissez les caractéristiques à interroger et s'il s'agit d'un instantané ou d'une exportation complète. Les sections suivantes présentent un exemple pour chaque option.
Pour les deux options, la destination de sortie doit se trouver dans la même région que le magasin de caractéristiques source. Par exemple, si votre magasin de caractéristiques se trouve dans us-central1
, le bucket Cloud Storage ou la table BigQuery de destination doivent également se trouver dans us-central1
.
Instantané
Exporter les dernières valeurs de caractéristiques pour une période donnée.
UI Web
Utilisez une autre méthode. Vous ne pouvez pas exporter de valeurs de caractéristiques à partir de la console Google Cloud.
REST
Pour exporter des valeurs de caractéristiques, envoyez une requête POST à l'aide de la méthode entityTypes.exportFeatureValues.
L'exemple suivant génère une table BigQuery, mais vous pouvez également générer le résultat dans un bucket Cloud Storage. Chaque destination de sortie peut présenter des conditions préalables avant de pouvoir envoyer une requête. Par exemple, si vous spécifiez un nom de table pour le champ bigqueryDestination
, vous devez disposer d'un ensemble de données existant. Ces exigences sont décrites dans la documentation de référence de l'API.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION_ID : région dans laquelle se trouve le magasin de caractéristiques. Exemple :
us-central1
- PROJECT_ID : l'ID de votre projet.
- FEATURESTORE_ID : ID du featurestore.
- ENTITY_TYPE_ID : ID du type d'entité.
- START_TIME et END_TIME (facultatif) : si vous spécifiez uniquement l'heure de début, renvoie la dernière valeur à partir de l'heure actuelle (heure d'envoi de la requête) en remontant jusqu'à l'heure de début. Si vous spécifiez uniquement l'heure de fin, renvoie la dernière valeur à partir de l'heure de fin (incluse) en remontant jusqu'à la toute première valeur. Si vous spécifiez une heure de début et une heure de fin, renvoie la dernière valeur dans la période spécifiée (heures de début et de fin incluses). Si vous ne spécifiez aucune heure, renvoie la dernière valeur de chaque caractéristique, en partant de l'heure actuelle et en remontant jusqu'à la toute première valeur.
- DATASET_NAME : nom de l'ensemble de données BigQuery de destination.
- TABLE_NAME : nom de la table BigQuery de destination.
- FEATURE_ID : ID d'une ou plusieurs caractéristiques. Spécifiez un unique caractère
*
(astérisque) pour sélectionner toutes les caractéristiques.
Méthode HTTP et URL :
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues
Corps JSON de la requête :
{ "snapshotExport": { "start_time": "START_TIME", "snapshot_time": "END_TIME" }, "destination" : { "bigqueryDestination": { "outputUri": "bq://PROJECT_ID.DATASET_NAME.TABLE_NAME" } }, "featureSelector": { "idMatcher": { "ids": ["FEATURE_ID", ...] } } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
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
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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
Vous devriez recevoir une réponse JSON de ce type :
{ "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
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Langages supplémentaires
Pour savoir comment installer et utiliser le SDK Vertex AI pour Python, consultez la page Utiliser le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API SDK Vertex AI pour Python.
Exportation complète
Exporte toutes les valeurs de caractéristiques dans une période donnée.
UI Web
Utilisez une autre méthode. Vous ne pouvez pas exporter de valeurs de caractéristiques à partir de la console Google Cloud.
REST
Pour exporter des valeurs de caractéristiques, envoyez une requête POST à l'aide de la méthode entityTypes.exportFeatureValues.
L'exemple suivant génère une table BigQuery, mais vous pouvez également générer le résultat dans un bucket Cloud Storage. Chaque destination de sortie peut présenter des conditions préalables avant de pouvoir envoyer une requête. Par exemple, si vous spécifiez un nom de table pour le champ bigqueryDestination
, vous devez disposer d'un ensemble de données existant. Ces exigences sont décrites dans la documentation de référence de l'API.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- LOCATION_ID : région dans laquelle se trouve le magasin de caractéristiques. Exemple :
us-central1
- PROJECT_ID : l'ID de votre projet.
- FEATURESTORE_ID : ID du featurestore.
- ENTITY_TYPE_ID : ID du type d'entité.
- START_TIME et END_TIME (facultatif) : si vous spécifiez uniquement l'heure de début, renvoie toutes les valeurs comprises entre l'heure actuelle (heure d'envoi de la requête) et l'heure de début (incluse). Si vous spécifiez uniquement l'heure de fin, renvoie toutes les valeurs comprises entre l'heure de fin (incluse) et le code temporel de la toute première valeur (pour chaque caractéristique). Si vous spécifiez une heure de début et une heure de fin, renvoie toutes les valeurs comprises dans la période spécifiée (heures de début et de fin incluses). Si vous ne spécifiez aucune heure, renvoie toutes les valeurs comprises entre l'heure actuelle et le code temporel de la toute première valeur (pour chaque caractéristique).
- DATASET_NAME : nom de l'ensemble de données BigQuery de destination.
- TABLE_NAME : nom de la table BigQuery de destination.
- FEATURE_ID : ID d'une ou plusieurs caractéristiques. Spécifiez un unique caractère
*
(astérisque) pour sélectionner toutes les caractéristiques.
Méthode HTTP et URL :
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues
Corps JSON de la requête :
{ "fullExport": { "start_time": "START_TIME", "end_time": "END_TIME" }, "destination" : { "bigqueryDestination": { "outputUri": "bq://PROJECT.DATASET_NAME.TABLE_NAME" } }, "featureSelector": { "idMatcher": { "ids": ["FEATURE_ID", ...] } } }
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
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
Enregistrez le corps de la requête dans un fichier nommé request.json
, puis exécutez la commande suivante :
$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
Vous devriez recevoir une réponse JSON de ce type :
{ "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
Avant d'essayer cet exemple, suivez les instructions de configuration pour Java décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Java.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Node.js
Avant d'essayer cet exemple, suivez les instructions de configuration pour Node.js décrites dans le guide de démarrage rapide de Vertex AI à l'aide des bibliothèques clientes. Pour en savoir plus, consultez la documentation de référence de l'API Vertex AI Node.js.
Pour vous authentifier auprès de Vertex AI, configurez le service Identifiants par défaut de l'application. Pour en savoir plus, consultez Configurer l'authentification pour un environnement de développement local.
Langages supplémentaires
Pour savoir comment installer et utiliser le SDK Vertex AI pour Python, consultez la page Utiliser le SDK Vertex AI pour Python. Pour en savoir plus, consultez la documentation de référence de l'API SDK Vertex AI pour Python.
Étapes suivantes
- Découvrez comment ingérer les valeurs de caractéristiques par lot.
- Apprenez à diffuser des caractéristiques via la diffusion en ligne.
- Affichez le quota des jobs par lots simultanés Vertex AI Feature Store (ancien).
- Résolvez les problèmes courants liés à Vertex AI Feature Store (ancien).