Exporte os valores de recursos de todas as entidades de um único tipo de entidade para uma tabela do BigQuery ou um bucket do Cloud Storage. Você pode optar por receber um snapshot ou exportar totalmente os valores de recursos. Um snapshot retorna um único valor por recurso em comparação com uma exportação completa, que pode retornar vários valores por recurso. Não é possível selecionar IDs de entidades específicos ou incluir vários tipos de entidades ao exportar valores de recursos.
A exportação de valores de recursos é útil para arquivamento ou para realizar análises ad-hoc nos seus dados. Por exemplo, você pode armazenar snapshots regulares da sua featurestore para salvar o estado dela em diferentes momentos. Se você precisar de valores de recursos para criar um conjunto de dados de treinamento, use a exibição em lote.
Comparação de snapshots e exportação completa
Com as opções de snapshot e exportação completa, é possível consultar dados especificando um único carimbo de data/hora (horário de início ou de término) ou ambos. Para snapshots, o Vertex AI Feature Store retorna o valor do recurso mais recente em um determinado intervalo de tempo. Na saída, o carimbo de data/hora associado com cada valor de recurso é o carimbo de data/hora do snapshot (não o carimbo de data/hora do valor do recurso).
Para exportações completas, o Vertex AI Feature Store retorna todos os valores de recursos em um determinado período. Na saída, o carimbo de data/hora associado com cada valor é o carimbo de data/hora especificado quando o valor do recurso foi ingerido.
A tabela a seguir resume o que o Vertex AI Feature Store retorna com base na opção escolhida e nos carimbos de data/hora fornecidos.
Opção | Somente horário de início (incluído) | Somente horário de término (incluído) | Horário de início e término (incluído) |
---|---|---|---|
Snapshot | Começando com o horário atual (quando a solicitação foi recebida), retorna o valor mais recente, observando até o horário de início. O carimbo de data/hora do snapshot está definido como a hora atual. |
Começando com o horário de término, retorna o valor mais recente, voltando ao primeiro valor de cada recurso. O carimbo de data/hora do snapshot está definido como o horário de término especificado. |
Retorna o valor mais recente no período especificado. O carimbo de data/hora do snapshot está definido como o horário de término especificado. |
Exportação completa | Retorna todos os valores no horário de início e depois dele até o momento atual (quando a solicitação foi enviada). | Retorna todos os valores até o horário de término, voltando ao primeiro valor de cada recurso. | Retorna todos os valores no período especificado. |
Valores nulos
Para snapshots, se o valor mais recente do recurso for nulo em um determinado carimbo de data/hora, o Vertex AI Feature Store retorna o valor do recurso não nulo anterior. Se não houver valores não nulos anteriores, o Vertex AI Feature Store retornará nulo.
Para exportações completas, se um valor de recurso for nulo em um determinado carimbo de data/hora, o Vertex AI Feature Store retornará nulo.
Examples
Como exemplo, suponha que você tenha os seguintes valores em um featurestore, em que os
valores de Feature_A
e Feature_B
compartilham o mesmo carimbo de data/hora:
ID da entidade | Carimbo de data/hora do valor do recurso | 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
Para snapshots, o Vertex AI Feature Store retorna os valores a seguir com base nos valores de carimbo de data/hora fornecidos:
- Se apenas o horário de início for definido como
T3
, o snapshot retornará os seguintes valores:
ID da entidade | Carimbo de data/hora do snapshot | Feature_A | Feature_B |
---|---|---|---|
123 | CURRENT_TIME | A_T4 | B_T5 |
- Se apenas o horário de término estiver definido como
T3
, o snapshot retornará os seguintes valores:
ID da entidade | Carimbo de data/hora do snapshot | Feature_A | Feature_B |
---|---|---|---|
123 | T3 | A_T3 | B_T1 |
- Se os horários de início e término forem definidos como
T2
eT3
, o snapshot retornará os seguintes valores:
ID da entidade | Carimbo de data/hora do snapshot | Feature_A | Feature_B |
---|---|---|---|
123 | T3 | A_T3 | NULL |
Exportação completa
Para exportações completas, o Vertex AI Feature Store retorna os valores a seguir com base nos valores de carimbo de data/hora fornecidos:
- Se apenas o horário de início estiver definido como
T3
, a exportação completa retornará os seguintes valores:
ID da entidade | Carimbo de data/hora do valor do recurso | Feature_A | Feature_B |
---|---|---|---|
123 | T3 | A_T3 | NULL |
123 | T4 | A_T4 | B_T4 |
123 | T5 | NULL | B_T5 |
- Se apenas o horário de término estiver definido como
T3
, a exportação completa retornará os seguintes valores:
ID da entidade | Carimbo de data/hora do valor do recurso | Feature_A | Feature_B |
---|---|---|---|
123 | T1 | A_T1 | B_T1 |
123 | T2 | A_T2 | NULL |
123 | T3 | A_T3 | NULL |
- Se os horários de início e término forem definidos como
T2
eT4
, a exportação completa retornará os seguintes valores:
ID da entidade | Carimbo de data/hora do valor do recurso | Feature_A | Feature_B |
---|---|---|---|
123 | T2 | A_T2 | NULL |
123 | T3 | A_T3 | NULL |
123 | T4 | A_T4 | B_T4 |
Valores exportar atributo
Ao exportar valores de recursos, escolha quais recursos serão consultados e se será um snapshot ou uma exportação completa. As seções a seguir mostram uma amostra para cada opção.
Nas duas opções, o destino de saída precisa estar na mesma região que o featurestore de origem. Por exemplo, se o featurestore estiver em us-central1
,
o bucket de destino do Cloud Storage ou a tabela do BigQuery
também precisará estar em us-central1
.
Snapshot
Exporte os valores de atributo mais recentes para um determinado período.
IU da Web
Use outro método. Não é possível exportar valores de atributo no console do Google Cloud.
REST
Para exportar valores de recursos, envie uma solicitação POST usando o método entityTypes.exportFeatureValues.
O exemplo a seguir gera uma tabela do BigQuery, mas também é possível gerar uma saída para um bucket do Cloud Storage. Cada destino de saída pode ter alguns
pré-requisitos antes de enviar uma solicitação. Por exemplo, se você especificar um nome de tabela para o campo
bigqueryDestination
, precisará ter um conjunto de dados atual. Esses
requisitos estão documentados na referência da API.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION_ID: região onde o featurestore está localizado. Por exemplo,
us-central1
. - PROJECT_ID: o ID do projeto.
- FEATURESTORE_ID: ID do featurestore.
- ENTITY_TYPE_ID: ID do tipo de entidade.
- START_TIME e END_TIME: (opcional) se você especificar apenas o horário de início, retornará o valor mais recente a partir do horário atual (quando a solicitação é enviada) e analisa até o horário de início de dados. Se você especificar apenas o horário de término, retornará o valor mais recente a partir do horário de término (inclusive) e analisando o primeiro valor. Se você especificar um horário de início e de término, retornará o valor mais recente dentro do período especificado (inclusivo). Se você não especificar nenhum deles, retornará os valores mais recentes para cada recurso, começando no horário atual e analisando o primeiro valor.
- DATASET_NAME: nome do conjunto de dados de destino do BigQuery.
- TABLE_NAME: nome da tabela de destino do BigQuery.
- FEATURE_ID: ID de um ou mais recursos. Especifique um único
*
(asterisco) para selecionar todos os recursos.
Método 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 da solicitação:
{ "snapshotExport": { "start_time": "START_TIME", "snapshot_time": "END_TIME" }, "destination" : { "bigqueryDestination": { "outputUri": "bq://PROJECT_ID.DATASET_NAME.TABLE_NAME" } }, "featureSelector": { "idMatcher": { "ids": ["FEATURE_ID", ...] } } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{ "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
Antes de testar esse exemplo, siga as instruções de configuração para Java no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Java.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de testar essa amostra, siga as instruções de configuração para Node.js Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Outras linguagens
Confira a instalação e o uso do SDK da Vertex AI para Python em Usar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
Exportação completa
Exporte todos os valores de atributos em um determinado período.
IU da Web
Use outro método. Não é possível exportar valores de atributo no console do Google Cloud.
REST
Para exportar valores de recursos, envie uma solicitação POST usando o método entityTypes.exportFeatureValues.
O exemplo a seguir gera uma tabela do BigQuery, mas também é possível gerar uma saída para um bucket do Cloud Storage. Cada destino de saída pode ter alguns
pré-requisitos antes de enviar uma solicitação. Por exemplo, se você especificar um nome de tabela para o campo
bigqueryDestination
, precisará ter um conjunto de dados atual. Esses
requisitos estão documentados na referência da API.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION_ID: região onde o featurestore está localizado. Por exemplo,
us-central1
. - PROJECT_ID: o ID do projeto.
- FEATURESTORE_ID: ID do featurestore.
- ENTITY_TYPE_ID: ID do tipo de entidade.
- START_TIME e END_TIME: (opcional) se você especificar apenas o horário de início, retornará todos os valores entre o horário atual (quando a solicitação é enviada) e o horário de início (inclusive). Se você especificar apenas o horário de término, retornará todos os valores entre o horário de término (inclusive) e o carimbo de data/hora do primeiro valor (para cada recurso). Se você especificar um horário de início e de término, retornará todos os valores dentro do período especificado (inclusive). Se você não especificar nenhum deles, retornará todos os valores entre o horário atual e o carimbo de data/hora do primeiro valor (para cada recurso).
- DATASET_NAME: nome do conjunto de dados de destino do BigQuery.
- TABLE_NAME: nome da tabela de destino do BigQuery.
- FEATURE_ID: ID de um ou mais recursos. Especifique um único
*
(asterisco) para selecionar todos os recursos.
Método 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 da solicitação:
{ "fullExport": { "start_time": "START_TIME", "end_time": "END_TIME" }, "destination" : { "bigqueryDestination": { "outputUri": "bq://PROJECT.DATASET_NAME.TABLE_NAME" } }, "featureSelector": { "idMatcher": { "ids": ["FEATURE_ID", ...] } } }
Para enviar a solicitação, escolha uma destas opções:
curl
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
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
Salve o corpo da solicitação em um arquivo com o nome request.json
e execute o comando a seguir:
$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
Você receberá uma resposta JSON semelhante a esta:
{ "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
Antes de testar esse exemplo, siga as instruções de configuração para Java no Guia de início rápido da Vertex AI sobre como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Java.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de testar essa amostra, siga as instruções de configuração para Node.js Guia de início rápido da Vertex AI: como usar bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Vertex AI para Node.js.
Para autenticar na Vertex AI, configure o Application Default Credentials. Para mais informações, consulte Configurar a autenticação para um ambiente de desenvolvimento local.
Outras linguagens
Confira a instalação e o uso do SDK da Vertex AI para Python em Usar o SDK da Vertex AI para Python. Saiba mais na documentação de referência da API SDK da Vertex AI para Python.
A seguir
- Saiba como processar valores de recurso em lote.
- Saiba como disponibilizar recursos por meio da exibição on-line.
- Veja a cota de jobs em lote simultâneos do Vertex AI Feature Store.
- Resolva problemas comuns da Feature Store da Vertex AI (legada).