Esporta i valori delle caratteristiche per tutte le entità di un singolo tipo di entità in una tabella BigQuery o in un bucket Cloud Storage. Puoi scegliere di ottenere un'immagine istantanea o di esportare completamente i valori delle funzionalità. Uno snapshot restituisce un singolo valore per caratteristica rispetto a un'esportazione completa, che può restituire più valori funzionalità. Non puoi selezionare determinati ID entità o includere più entità tipi quando esporti i valori delle caratteristiche.
L'esportazione dei valori delle caratteristiche è utile per l'archiviazione o per l'esecuzione ad hoc l'analisi dei dati. Ad esempio, puoi archiviare snapshot regolari del tuo feature store per salvarne lo stato in momenti diversi. Se devi recuperare i valori delle funzionalità per creare un set di dati di addestramento, utilizza invece il pubblicamento collettivo.
Confronto tra snapshot ed esportazione completa
Sia lo snapshot che le opzioni di esportazione completa ti consentono di eseguire query sui dati specificando un singolo timestamp (ora di inizio o di fine) o entrambi i timestamp. Per gli snapshot, Vertex AI Feature Store (legacy) restituisce il valore della funzionalità più recente all'interno di un determinato intervallo di tempo. Nell'output, il timestamp associato a ciascun valore della caratteristica è il timestamp dell'istantanea (non il timestamp del valore della caratteristica).
Per le esportazioni complete, Vertex AI Feature Store (legacy) restituisce tutti i valori delle caratteristiche in un determinato intervallo di tempo. Nell'output, il timestamp associato a ogni valore della caratteristica è il timestamp della caratteristica (il timestamp specificato al momento dell'importazione del valore della caratteristica).
La tabella seguente riassume ciò che restituisce Vertex AI Feature Store (legacy) in base all'opzione che hai scelto e ai timestamp che fornisci.
Opzione | Solo ora di inizio (inclusa) | Solo ora di fine (inclusa) | Ora di inizio e di fine (incluse) |
---|---|---|---|
Snapshot | A partire dall'ora corrente (quando è stata ricevuta la richiesta), restituisce
il valore più recente, fino all'ora di inizio. Il timestamp dello snapshot è impostato sull'ora attuale. |
Partendo dall'ora di fine, restituisce l'ultimo valore, considerando
il primo valore per ogni caratteristica. Il timestamp dello snapshot è impostato sull'ora di fine specificata. |
Restituisce il valore più recente nell'intervallo di tempo specificato. Il timestamp dello snapshot è impostato sull'ora di fine specificata. |
Esportazione completa | Restituisce tutti i valori a partire dall'ora di inizio e fino all'ora corrente (quando è stata inviata la richiesta). | Restituisce tutti i valori fino all'ora di fine, fino al primo valore per ogni funzionalità. | Restituisce tutti i valori nell'intervallo di tempo specificato. |
Valori null
Per gli snapshot, se il valore della caratteristica più recente è null in un determinato timestamp, Vertex AI Feature Store (legacy) restituisce il valore della caratteristica non null precedente. Se non sono presenti valori non null precedenti, Vertex AI Feature Store (legacy) restituisce null.
Per le esportazioni complete, se un valore della funzionalità è nullo in un determinato timestamp, Vertex AI Feature Store (legacy) restituisce nullo per quel timestamp.
Esempi
Ad esempio, supponiamo di avere i seguenti valori in un archivio di caratteristiche, in cui la
i valori di Feature_A
e Feature_B
condividono lo stesso timestamp:
ID entità | Timestamp del valore della caratteristica | 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
Per gli snapshot, Vertex AI Feature Store (legacy) restituisce i seguenti valori in base ai valori timestamp specificati:
- Se solo l'ora start è impostata su
T3
, lo snapshot restituisce quanto segue valori:
ID entità | Timestamp dello snapshot | Feature_A | Feature_B |
---|---|---|---|
123 | CURRENT_TIME | A_T4 | B_T5 |
- Se solo l'ora end è impostata su
T3
, lo snapshot restituisce i seguenti valori:
ID entità | Timestamp dello snapshot | Feature_A | Feature_B |
---|---|---|---|
123 | T3 | A_T3 | B_T1 |
- Se le ore di inizio e fine sono impostate su
T2
eT3
, lo snapshot restituisce i seguenti valori:
ID entità | Timestamp dello snapshot | Feature_A | Feature_B |
---|---|---|---|
123 | T3 | A_T3 | NULL |
Esportazione completa
Per le esportazioni complete, Vertex AI Feature Store (legacy) restituisce i seguenti valori in base ai valori timestamp specificati:
- Se solo l'ora di inizio è impostata su
T3
, l'esportazione completa restituisce i seguenti valori:
ID entità | Timestamp del valore della caratteristica | Feature_A | Feature_B |
---|---|---|---|
123 | T3 | A_T3 | NULL |
123 | T4 | A_T4 | B_T4 |
123 | T5 | NULL | B_T5 |
- Se solo l'ora di fine è impostata su
T3
, l'esportazione completa restituisce quanto segue: valori:
ID entità | Timestamp del valore della caratteristica | Feature_A | Feature_B |
---|---|---|---|
123 | T1 | A_T1 | B_T1 |
123 | T2 | A_T2 | NULL |
123 | T3 | A_T3 | NULL |
- Se gli orari di inizio e fine sono impostati su
T2
eT4
, l'esportazione completa restituisce i seguenti valori:
ID entità | Timestamp del valore della caratteristica | Feature_A | Feature_B |
---|---|---|---|
123 | T2 | A_T2 | NULL |
123 | T3 | A_T3 | NULL |
123 | T4 | A_T4 | B_T4 |
Esportazione dei valori delle caratteristiche
Quando esporti i valori delle funzionalità, scegli le funzionalità per cui eseguire query e se si tratta di uno snapshot o di un'esportazione completa. Le sezioni seguenti mostrano un esempio per ogni opzione.
Per entrambe le opzioni, la destinazione dell'output deve trovarsi nella stessa regione del
feature store di origine. Ad esempio, se il tuo feature store si trova in us-central1
, anche il bucket Cloud Storage o la tabella BigQuery di destinazione deve trovarsi in us-central1
.
Snapshot
Esporta gli ultimi valori delle caratteristiche per un determinato intervallo di tempo.
UI web
Utilizza un altro metodo. Non puoi esportare i valori delle caratteristiche dal nella console Google Cloud.
REST
Per esportare i valori delle funzionalità, invia una richiesta POST utilizzando il metodo entityTypes.exportFeatureValues.
L'esempio seguente genera una tabella BigQuery, ma puoi anche eseguire l'output in un bucket Cloud Storage. Per ogni destinazione di output potrebbero essere previsti alcuni prerequisiti prima di poter inviare una richiesta. Ad esempio, se specifichi un
nome tabella per il campo bigqueryDestination
, devi avere un
set di dati esistente. Questi requisiti sono documentati nella documentazione di riferimento delle API.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION_ID: regione in cui si trova l'archivio di caratteristiche. Ad esempio,
us-central1
. - PROJECT_ID: il tuo ID progetto.
- FEATURESTORE_ID: ID dell'archivio di caratteristiche.
- ENTITY_TYPE_ID: ID del tipo di entità.
- START_TIME e END_TIME: (Facoltativo) se specifichi solo l'ora di inizio, viene restituito il valore più recente a partire dall'ora corrente (quando viene inviata la richiesta) e viene esaminato il periodo precedente fino all'ora di inizio. Se specifichi solo l'ora di fine, viene restituito il valore più recente a partire dall'ora di fine (inclusa) e viene visualizzato il primo valore. Se specifichi un'ora di inizio e un'ora di fine, restituisce il valore più recente nell'intervallo di tempo specificato (incluso). Se non specifichi nessuno dei due valori, restituisce gli ultimi valori per ogni caratteristica, a partire dall'ora corrente per poi tornare il primo valore.
- DATASET_NAME: il nome del set di dati BigQuery di destinazione.
- TABLE_NAME: nome della tabella BigQuery di destinazione.
- FEATURE_ID: ID di una o più caratteristiche. Specificare un singolo
*
(asterisco) per selezionare tutte le caratteristiche.
Metodo HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues
Corpo JSON della richiesta:
{ "snapshotExport": { "start_time": "START_TIME", "snapshot_time": "END_TIME" }, "destination" : { "bigqueryDestination": { "outputUri": "bq://PROJECT_ID.DATASET_NAME.TABLE_NAME" } }, "featureSelector": { "idMatcher": { "ids": ["FEATURE_ID", ...] } } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta API Java Vertex AI documentazione di riferimento.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione Node.js riportate nella guida rapida all'utilizzo delle librerie client di Vertex AI. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Vertex AI.
Per eseguire l'autenticazione su Vertex AI, configura Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
Per scoprire come installare e utilizzare l'SDK Vertex AI per Python, consulta Utilizzare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI SDK for Python.
Esportazione completa
Esporta tutti i valori delle funzionalità in un determinato intervallo di tempo.
UI web
Utilizza un altro metodo. Non puoi esportare i valori delle caratteristiche dal nella console Google Cloud.
REST
Per esportare i valori delle funzionalità, invia una richiesta POST utilizzando il metodo entityTypes.exportFeatureValues.
L'esempio seguente genera una tabella BigQuery, ma puoi anche eseguire l'output in un bucket Cloud Storage. Ogni destinazione di output potrebbe avere
prerequisiti prima di poter inviare una richiesta. Ad esempio, se specifichi
nome di una tabella per il campo bigqueryDestination
, devi avere un
un set di dati esistente. Questi requisiti sono documentati nella documentazione di riferimento delle API.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION_ID: regione in cui si trova l'archivio di caratteristiche. Ad esempio,
us-central1
. - PROJECT_ID: il tuo ID progetto.
- FEATURESTORE_ID: ID dell'archivio di funzionalità.
- ENTITY_TYPE_ID: ID del tipo di entità.
- START_TIME e END_TIME: (Facoltativo) se specifichi solo l'ora di inizio, vengono restituiti tutti i valori compresi tra l'ora corrente (quando viene inviata la richiesta) e l'ora di inizio (inclusa). Se specifichi l'ora di fine restituisce tutti i valori compresi tra l'ora di fine (inclusa) e il primo (per ogni caratteristica). Se specifichi un'ora di inizio e un'ora di fine, vengono restituiti tutti i valori compresi nell'intervallo di tempo specificato (incluso). Se non specifica nessuno, restituisce tutti i valori compresi tra l'ora corrente e il timestamp del primo valore (per ogni caratteristica).
- DATASET_NAME: il nome del set di dati BigQuery di destinazione.
- TABLE_NAME: nome della tabella BigQuery di destinazione.
- FEATURE_ID: ID di una o più caratteristiche. Specificare un singolo
*
(asterisco) per selezionare tutte le caratteristiche.
Metodo HTTP e URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION_ID/featurestores/FEATURESTORE_ID/entityTypes/ENTITY_TYPE_ID:exportFeatureValues
Corpo JSON della richiesta:
{ "fullExport": { "start_time": "START_TIME", "end_time": "END_TIME" }, "destination" : { "bigqueryDestination": { "outputUri": "bq://PROJECT.DATASET_NAME.TABLE_NAME" } }, "featureSelector": { "idMatcher": { "ids": ["FEATURE_ID", ...] } } }
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
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
Salva il corpo della richiesta in un file denominato request.json
,
quindi esegui il comando seguente:
$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
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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
Prima di provare questo esempio, segui le istruzioni per la configurazione di Java nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Java di Vertex AI.
Per autenticarti in Vertex AI, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni per la configurazione di Node.js nel Guida rapida di Vertex AI con librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Node.js di Vertex AI.
Per autenticarti in Vertex AI, configura le credenziali predefinite dell'applicazione. Per ulteriori informazioni, vedi Configura l'autenticazione per un ambiente di sviluppo locale.
Linguaggi aggiuntivi
Per informazioni su come installare e utilizzare l'SDK Vertex AI per Python, consulta Utilizzare l'SDK Vertex AI per Python. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI SDK for Python.
Passaggi successivi
- Scopri come importare in batch i valori delle caratteristiche.
- Scopri come pubblicare funzionalità tramite la pubblicazione online.
- Visualizza la quota per i job batch contemporaneamente di Vertex AI Feature Store (legacy).
- Risolvi i problemi comuni di Vertex AI Feature Store (legacy).