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'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 per caratteristica. Non puoi selezionare ID entità specifici o includere più tipi di entità quando esporti i valori delle funzionalità.
L'esportazione dei valori delle funzionalità è utile per l'archiviazione o per eseguire analisi ad hoc sui dati. Ad esempio, puoi archiviare snapshot regolari del feature store per salvare il suo stato in momenti diversi. Se devi ottenere i valori delle funzionalità per creare un set di dati di addestramento, utilizza batch serving.
Confronto tra snapshot ed esportazione completa
Le opzioni di snapshot ed esportazione completa ti consentono di eseguire query sui dati specificando un singolo timestamp (l'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 in un determinato intervallo di tempo. Nell'output, il timestamp associato a ogni valore della caratteristica è il timestamp dello snapshot (non il timestamp del valore della caratteristica).
Per le esportazioni complete, Vertex AI Feature Store (legacy) restituisce tutti i valori delle funzionalità in un determinato intervallo di tempo. Nell'output, il timestamp associato a ogni valore di caratteristica è il timestamp della caratteristica (il timestamp specificato al momento dell'importazione del valore della caratteristica).
La tabella seguente riepiloga i valori restituiti da Vertex AI Feature Store (legacy) in base all'opzione scelta e ai timestamp forniti.
Opzione | Solo ora di inizio (inclusa) | Solo ora di fine (inclusa) | Ora di inizio e di fine (inclusa) |
---|---|---|---|
Snapshot | A partire dall'ora corrente (quando è stata ricevuta la richiesta), restituisce
l'ultimo valore, a partire dall'ora di inizio. Il timestamp dello snapshot è impostato sull'ora corrente. |
A partire dall'ora di fine, restituisce il valore più recente, esaminando
il primo valore di ogni caratteristica. Il timestamp dello snapshot è impostato sull'ora di fine specificata. |
Restituisce il valore più recente all'interno dell'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, risalendo fino al primo valore di ogni caratteristica. | Restituisce tutti i valori all'interno dell'intervallo di tempo specificato. |
Valori null
Per gli snapshot, se l'ultimo valore della funzionalità è null in un determinato timestamp, Vertex AI Feature Store (legacy) restituisce il valore della funzionalità precedente non nullo. Se non sono presenti valori non nulli 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 null per quel timestamp.
Esempi
Ad esempio, supponi di avere i seguenti valori in un feature store, dove 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 forniti:
- Se solo l'ora di inizio è impostata su
T3
, lo snapshot restituisce i seguenti valori:
ID entità | Timestamp dello snapshot | Feature_A | Feature_B |
---|---|---|---|
123 | CURRENT_TIME | A_T4 | B_T5 |
- Se solo l'ora di fine è 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 gli orari di inizio e fine sono impostati 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 forniti:
- 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 i seguenti 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 caratteristiche, scegli le caratteristiche da interrogare e se si tratta di un'istantanea o di un'esportazione completa. Le sezioni seguenti mostrano un esempio per ogni opzione.
Per entrambe le opzioni, la destinazione di output deve trovarsi nella stessa regione del feature store di origine. Ad esempio, se il feature store si trova in us-central1
,
anche la tabella BigQuery o il bucket Cloud Storage di destinazione
deve trovarsi in us-central1
.
Snapshot
Esporta i valori delle caratteristiche più recenti per un determinato intervallo di tempo.
UI web
Utilizza un altro metodo. Non puoi esportare i valori delle funzionalità dalla consoleGoogle Cloud .
REST
Per esportare i valori delle caratteristiche, invia una richiesta POST utilizzando il metodo entityTypes.exportFeatureValues.
Il seguente esempio restituisce una tabella BigQuery, ma puoi anche eseguire l'output
in un bucket Cloud Storage. Ogni destinazione di output potrebbe avere alcuni
prerequisiti prima di poter inviare una richiesta. Ad esempio, se specifichi un nome
tabella per il campo bigqueryDestination
, devi disporre di un
set di dati esistente. Questi requisiti sono documentati nel riferimento API.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION_ID: la regione in cui si trova il feature store. Ad esempio,
us-central1
. - PROJECT_ID: il tuo ID progetto
- FEATURESTORE_ID: ID dello store di funzionalità.
- ENTITY_TYPE_ID: l'ID del tipo di entità.
- START_TIME e END_TIME: (facoltativo) se specifichi solo l'ora di inizio, restituisce l'ultimo valore a partire dall'ora corrente (quando viene inviata la richiesta) e a ritroso fino all'ora di inizio. Se specifichi solo l'ora di fine, restituisce l'ultimo valore a partire dall'ora di fine (inclusa) e risalendo fino al primo valore. Se specifichi un'ora di inizio e un'ora di fine, restituisce l'ultimo valore all'interno dell'intervallo di tempo specificato (incluso). Se non specifichi nessuno dei due, vengono restituiti i valori più recenti per ogni funzionalità, a partire dall'ora corrente e risalendo fino al primo valore.
- DATASET_NAME: nome del set di dati BigQuery di destinazione.
- TABLE_NAME: nome della tabella BigQuery di destinazione.
- FEATURE_ID: ID di una o più funzionalità. Specifica un singolo
*
(asterisco) per selezionare tutte le funzionalità.
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 di queste 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 di configurazione di Java nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI Java.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI Node.js.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura 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 funzionalità dalla consoleGoogle Cloud .
REST
Per esportare i valori delle caratteristiche, invia una richiesta POST utilizzando il metodo entityTypes.exportFeatureValues.
Il seguente esempio restituisce una tabella BigQuery, ma puoi anche eseguire l'output
in un bucket Cloud Storage. Ogni destinazione di output potrebbe avere alcuni
prerequisiti prima di poter inviare una richiesta. Ad esempio, se specifichi un nome
tabella per il campo bigqueryDestination
, devi disporre di un
set di dati esistente. Questi requisiti sono documentati nel riferimento API.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- LOCATION_ID: la regione in cui si trova il feature store. Ad esempio,
us-central1
. - PROJECT_ID: il tuo ID progetto
- FEATURESTORE_ID: ID dello store di funzionalità.
- ENTITY_TYPE_ID: l'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 attuale (quando viene inviata la richiesta) e l'ora di inizio (inclusa). Se specifichi solo l'ora di fine, vengono restituiti tutti i valori compresi tra l'ora di fine (inclusa) e il timestamp del primo valore (per ogni funzionalità). Se specifichi un'ora di inizio e un'ora di fine, vengono restituiti tutti i valori all'interno dell'intervallo di tempo specificato (incluso). Se non ne specifichi nessuno, restituisce tutti i valori compresi tra l'ora corrente e il timestamp del primo valore (per ogni funzionalità).
- DATASET_NAME: nome del set di dati BigQuery di destinazione.
- TABLE_NAME: nome della tabella BigQuery di destinazione.
- FEATURE_ID: ID di una o più funzionalità. Specifica un singolo
*
(asterisco) per selezionare tutte le funzionalità.
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 di queste 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 di configurazione di Java nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI Java.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura l'autenticazione per un ambiente di sviluppo locale.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella guida rapida di Vertex AI per l'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Vertex AI Node.js.
Per autenticarti in Vertex AI, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configura 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.
Passaggi successivi
- Scopri come importare in batch i valori delle caratteristiche.
- Scopri come pubblicare funzionalità tramite la pubblicazione online.
- Visualizza la quota di job batch simultanei di Vertex AI Feature Store (legacy).
- Risolvi i problemi comuni di Vertex AI Feature Store (legacy).