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 acquisire un'istantanea o di esportare completamente i valori delle caratteristiche. Uno snapshot restituisce un singolo valore per caratteristica rispetto a un'esportazione completa, che può restituire più valori per funzionalità. Non puoi selezionare determinati ID entità o includere più tipi di entità durante l'esportazione dei valori delle caratteristiche.
L'esportazione dei valori delle caratteristiche è utile per l'archiviazione o per eseguire analisi ad hoc sui dati. Ad esempio, puoi archiviare snapshot regolari dell'archivio di caratteristiche per salvarne lo stato in diversi momenti. Se devi ottenere valori delle caratteristiche per creare un set di dati di addestramento, utilizza invece la pubblicazione in batch.
Confronto tra snapshot ed esportazione completa
Entrambe le opzioni per lo snapshot e l'esportazione completa consentono di eseguire query sui dati specificando un singolo timestamp (ora di inizio o di fine) o entrambi. 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 di funzionalità è 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 della funzionalità è il timestamp della caratteristica (il timestamp specificato al momento dell'importazione del valore della caratteristica).
La seguente tabella riassume i dati 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 il valore più recente, tornando indietro fino all'ora di inizio. Il timestamp dello snapshot è impostato sull'ora attuale. |
A partire dall'ora di fine, restituisce il valore più recente, tornando al primo valore per ogni funzionalità. 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 dopo fino all'ora corrente (quando è stata inviata la richiesta). | Restituisce tutti i valori fino all'ora di fine, tornando al primo valore per ogni funzionalità. | Restituisce tutti i valori compresi nell'intervallo di tempo specificato. |
Valori null
Per gli snapshot, se il valore della funzionalità più recente è null in un determinato timestamp, Vertex AI Feature Store (legacy) restituisce il precedente valore della funzionalità non null. Se non sono presenti valori non null precedenti, Vertex AI Feature Store (legacy) restituisce null.
Per le esportazioni complete, se un valore di una caratteristica è nullo in un determinato timestamp, Vertex AI Feature Store (Legacy) restituisce null per quel timestamp.
Esempi
Supponi, ad esempio, di avere i seguenti valori in un archivio di caratteristiche, dove i valori di Feature_A
e Feature_B
condividono lo stesso timestamp:
ID entità | Timestamp valore della funzionalità | Feature_A | Feature_B |
---|---|---|---|
123 | T1 | A_T1 | B_T1 |
123 | T2 | A_T2 | NULLA |
123 | T3 | A_T3 | NULLA |
123 | T4 | A_T4 | B_T4 |
123 | T5 | NULLA | B_T5 |
Snapshot
Per gli snapshot, Vertex AI Feature Store (legacy) restituisce i seguenti valori in base ai valori del timestamp indicati:
- Se solo l'ora di inizio è impostata su
T3
, lo snapshot restituisce i seguenti valori:
ID entità | Timestamp 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 snapshot | Feature_A | Feature_B |
---|---|---|---|
123 | T3 | A_T3 | B_T1 |
- Se gli orari di start e end sono impostati su
T2
eT3
, lo snapshot restituisce i seguenti valori:
ID entità | Timestamp snapshot | Feature_A | Feature_B |
---|---|---|---|
123 | T3 | A_T3 | NULLA |
Esportazione completa
Per le esportazioni complete, Vertex AI Feature Store (legacy) restituisce i seguenti valori in base ai valori del timestamp specificati:
- Se solo l'ora di inizio è impostata su
T3
, l'esportazione completa restituisce i seguenti valori:
ID entità | Timestamp valore della funzionalità | Feature_A | Feature_B |
---|---|---|---|
123 | T3 | A_T3 | NULLA |
123 | T4 | A_T4 | B_T4 |
123 | T5 | NULLA | B_T5 |
- Se solo l'ora di fine è impostata su
T3
, l'esportazione completa restituisce i seguenti valori:
ID entità | Timestamp valore della funzionalità | Feature_A | Feature_B |
---|---|---|---|
123 | T1 | A_T1 | B_T1 |
123 | T2 | A_T2 | NULLA |
123 | T3 | A_T3 | NULLA |
- Se gli orari di start e end sono impostati su
T2
eT4
, l'esportazione completa restituisce i seguenti valori:
ID entità | Timestamp valore della funzionalità | Feature_A | Feature_B |
---|---|---|---|
123 | T2 | A_T2 | NULLA |
123 | T3 | A_T3 | NULLA |
123 | T4 | A_T4 | B_T4 |
Esportazione dei valori delle caratteristiche
Quando esporti i valori delle caratteristiche, scegli le funzionalità su cui eseguire la query e se si tratta di uno snapshot o di un'esportazione completa. Le seguenti sezioni mostrano un esempio per ciascuna opzione.
Per entrambe le opzioni, la destinazione di output deve trovarsi nella stessa regione dell'archivio di caratteristiche di origine. Ad esempio, se il tuo archivio di caratteristiche è in us-central1
, anche il bucket Cloud Storage o la tabella BigQuery di destinazione devono essere in us-central1
.
Snapshot
Esporta i valori delle funzionalità più recenti per un determinato intervallo di tempo.
UI web
Utilizza un altro metodo. Non puoi esportare i valori delle funzionalità dalla console Google Cloud.
REST
Per esportare i valori delle caratteristiche, invia una richiesta POST utilizzando il metodo entityTypes.exportFeatureValues.
L'esempio seguente restituisce una tabella BigQuery, ma puoi anche visualizzarlo in un bucket Cloud Storage. Ogni destinazione di output potrebbe avere
prerequisiti prima di inviare una richiesta. Ad esempio, se specifichi un nome di tabella per il campo bigqueryDestination
, devi avere un set di dati esistente. Questi requisiti sono documentati nel riferimento dell'API.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION_ID: la 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, restituisce il valore più recente a partire dall'ora corrente (quando viene inviata la richiesta) e torna indietro fino all'ora di inizio. Se specifichi solo l'ora di fine, restituisce il valore più recente a partire dall'ora di fine (inclusa) e torna al primo valore. Se specifichi un'ora di inizio e un'ora di fine, restituisce il valore più recente compreso nell'intervallo di tempo specificato (incluso). Se non specifichi nessuno dei due valori, vengono restituiti i valori più recenti per ogni funzionalità, a partire dall'ora corrente e tornando 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 tutti gli elementi.
Metodo HTTP e URL:
POST http://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:
arricciatura
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"http://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
ed esegui questo comando:
$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 "http://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 riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le 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 di Node.js riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le 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 saperne di più, consulta la documentazione di riferimento dell'SDK Vertex AI per l'API 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 console Google Cloud.
REST
Per esportare i valori delle caratteristiche, invia una richiesta POST utilizzando il metodo entityTypes.exportFeatureValues.
L'esempio seguente restituisce una tabella BigQuery, ma puoi anche visualizzarlo in un bucket Cloud Storage. Ogni destinazione di output potrebbe avere
prerequisiti prima di inviare una richiesta. Ad esempio, se specifichi un nome di tabella per il campo bigqueryDestination
, devi avere un set di dati esistente. Questi requisiti sono documentati nel riferimento dell'API.
Prima di utilizzare i dati della richiesta, effettua le seguenti sostituzioni:
- LOCATION_ID: la 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, restituisce tutti i valori compresi tra l'ora attuale (quando viene inviata la richiesta) e quella di inizio (inclusa). Se specifichi solo l'ora di fine, restituisce 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, restituisce tutti i valori compresi nell'intervallo di tempo specificato (incluso). Se non specifichi nessuno, vengono restituiti 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 tutti gli elementi.
Metodo HTTP e URL:
POST http://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:
arricciatura
Salva il corpo della richiesta in un file denominato request.json
ed esegui questo comando:
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d @request.json \
"http://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
ed esegui questo comando:
$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 "http://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 riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le 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 di Node.js riportate nella guida rapida di Vertex AI sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Node.js Vertex AI.
Per eseguire l'autenticazione in Vertex AI, configura le 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 saperne di più, consulta la documentazione di riferimento dell'SDK Vertex AI per l'API Python.
Passaggi successivi
- Scopri come importare in gruppo 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).