A importação em lote permite importar valores de atributos em massa de uma fonte de dados válida. Em uma solicitação de importação em lote, é possível importar valores de até 100 atributos para um tipo de entidade. Para evitar colisões, só é possível executar um job de importação em lote por tipo de entidade.
Em uma solicitação de importação em lote, especifique o local dos dados de origem e como ele é mapeado para os atributos no featurestore. Como cada solicitação de importação em lote é destina a apenas um tipo de entidade, os dados de origem também precisam ser.
Depois que a importação for concluída, os valores de recurso estarão disponíveis para operações de leitura subsequentes.
- Para mais informações sobre os requisitos de dados de origem, consulte Requisitos de dados de origem.
- Para informações sobre por quanto tempo a Vertex AI Feature Store mantém seus dados no armazenamento off-line, consulte Vertex AI Feature Store em Cotas e limites.
- Para informações sobre o carimbo de data/hora do valor do atributo mais antigo que pode ser importado, consulte Vertex AI Feature Store (legado) em Cotas e limites.
- Não é possível importar valores de atributos para os quais os carimbos de data/hora indicam datas ou horários futuros.
Desempenho do job de importação
O Vertex AI Feature Store (legado) fornece importação com alta capacidade de processamento, mas a latência mínima pode levar alguns minutos. Cada solicitação para a Vertex AI Feature Store inicia um job para concluir o trabalho. Um job de importação leva alguns minutos para ser concluído, mesmo que você esteja importando um único registro.
Para fazer ajustes no desempenho de um job, altere as duas variáveis a seguir:
- O número de nós de veiculação on-line do featurestore.
- O número de workers usados para o job de importação. Os workers processam e gravam dados no featurestore.
O número recomendado de workers é um worker a cada 10 nós de exibição on-line no featurestore. É possível aumentar esse número se a carga de exibição on-line estiver baixa. É possível especificar no máximo 100 workers. Para mais orientações, consulte Monitorar e ajustar os recursos adequadamente para otimizar a importação em lote.
Se o cluster de veiculação on-line estiver subprovisionado, o job de importação poderá falhar. Em caso de falha, tente fazer a solicitação de importação novamente quando a carga de veiculação on-line estiver baixa ou aumente a contagem de nós do featurestore e tente outra vez.
Se o featurestore não tiver um armazenamento on-line (nenhum nó de veiculação on-line), o job de importação só vai fazer gravações no armazenamento off-line, e o desempenho do job vai depender apenas do número de workers de importação.
Consistência de dados
Inconsistências podem ser introduzidas se os dados de origem forem modificados durante a importação. Confirme se todas as modificações nos dados de origem foram concluídas antes de iniciar um job de importação. Além disso, valores de atributos duplicados podem resultar em valores diferentes exibidos entre solicitações on-line e em lote. Confirme se você tem um valor de atributo para cada par de ID de entidade e carimbo de data/hora.
Se uma operação de importação falhar, o featurestore pode ter dados parciais, o que também pode fazer com que valores inconsistentes sejam retornados entre as solicitações de exibição on-line e em lote. Para evitar essa inconsistência, repita novamente a mesma solicitação de importação e aguarde até que a solicitação seja concluída com êxito.
Valores nulos e matrizes vazias
Durante a importação, o Vertex AI Feature Store (legado) considera valores escalares nulos ou matrizes vazias como valores vazios. Eles incluem valores vazios em uma coluna CSV. O Feature Store da Vertex AI (legado) não oferece suporte a valores nulos não escalares, como um valor null
em uma matriz.
Durante a disponibilização on-line e em lote, a Feature Store da Vertex AI retorna o valor mais recente do atributo não nulo ou não vazio. Se um valor histórico do atributo não estiver disponível, o Feature Store da Vertex AI vai retornar null
.
Valores NaN
O Feature Store da Vertex AI é compatível com valores NaN (não é um número) em Double
e DoubleArray
. Durante a importação, é possível inserir NaN
no arquivo CSV de entrada de disponibilização para representar um valor NaN. Durante a disponibilizaçao on-line e em lote, a Feature Store da Vertex AI retorna NaN
para valores NaN.
Importação em lote
Importe valores em massa para um featurestore para um ou mais atributos de um único tipo de entidade.
IU da Web
- Na seção "Vertex AI" do Console do Google Cloud, acesse a página Recursos.
- Selecione uma região na lista suspensa Região.
- Na tabela de atributos, visualize a coluna Tipo de entidade e encontre o tipo de entidade que contém os atributos para os quais você quer importar valores.
- Clique no nome do tipo de entidade.
- Na barra de ações, clique em Processar valores.
- Em Origem de dados, selecione uma das seguintes opções:
- Arquivo CSV do Cloud Storage: selecione esta opção para importar dados de vários arquivos CSV do Cloud Storage. Especifique o caminho e o nome do arquivo CSV. Para especificar arquivos adicionais, clique em Adicionar outro arquivo.
- Arquivo AVRO do Cloud Storage: selecione esta opção para ingerir dados de um arquivo AVRO do Cloud Storage. Especifique o caminho e o nome do arquivo AVRO.
- Tabela do BigQuery: selecione esta opção para ingerir dados de uma tabela ou visualização do BigQuery. Procure e selecione uma tabela ou visualização para usar, que está no seguinte formato:
PROJECT_ID.DATASET_ID.TABLE_ID
- Clique em Continuar.
- Em Mapear coluna para recursos, especifique quais colunas nos dados de origem são mapeadas para entidades e recursos na featurestore.
- Especifique o nome da coluna nos dados de origem que contém os IDs de entidade.
- Para o carimbo de data/hora, especifique uma coluna nos dados de origem ou um único carimbo de data/hora associado a todos os valores de atributos importados.
- Na lista de elementos, insira o nome da coluna de dados de origem que é mapeado para cada elemento. Por padrão, o Feature Store da Vertex AI pressupõe que o nome do atributo e o nome da coluna correspondem.
- Clique em Ingerir.
REST
Para importar valores de recursos para os recursos atuais,
envie uma solicitação POST usando o método
featurestores.entityTypes.importFeatureValues. Se os nomes das colunas de dados de origem e os IDs de recurso de destino forem diferentes, inclua o parâmetro sourceField
.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- LOCATION_ID: região onde a featurestore é criada. Por exemplo,
us-central1
. - PROJECT_ID: o ID do projeto.
- FEATURESTORE_ID: ID do featurestore.
- ENTITY_TYPE_ID: código do tipo de entidade.
- ENTITY_SOURCE_COLUMN_ID: ID da coluna de origem que contém IDs de entidade.
- FEATURE_TIME_ID: ID da coluna de origem que contém os carimbos de data/hora do recurso para os valores do recurso.
- FEATURE_ID: código de um recurso existente na featurestore para o qual os valores serão importados.
- FEATURE_SOURCE_COLUMN_ID: ID da coluna de origem que contém valores de recursos para as entidades.
- SOURCE_DATA_DETAILS: o local dos dados de origem, que também indica o formato, como
"bigquerySource": { "inputUri": "bq://test.dataset.sourcetable" }
para uma tabela ou visualização do BigQuery. - WORKER_COUNT: o número de workers a serem usados para gravar dados no featurestore.
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:importFeatureValues
Corpo JSON da solicitação:
{ "entityIdField": "ENTITY_SOURCE_COLUMN_ID", "featureTimeField": "FEATURE_TIME_ID", SOURCE_DATA_DETAILS, "featureSpecs": [{ "id": "FEATURE_ID", "sourceField": "FEATURE_SOURCE_COLUMN_ID" }], "workerCount": WORKER_COUNT }
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:importFeatureValues"
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:importFeatureValues" | Select-Object -Expand Content
Será exibido um código semelhante a este. Use OPERATION_ID na resposta para ver o status da operação.
{ "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.ImportFeatureValuesOperationMetadata", "genericMetadata": { "createTime": "2021-03-02T00:04:13.039166Z", "updateTime": "2021-03-02T00:04:13.039166Z" } } }
Python
Para saber como instalar o SDK da Vertex AI para Python, consulte Instalar o SDK da Vertex AI para Python. Para mais informações, consulte a documentação de referência da API Python.
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 esse exemplo, siga as instruções de configuração para Node.js 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 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.
Conferir jobs de importação
Use o console do Google Cloud para visualizar os jobs de importação em lote em um projeto do Google Cloud.
IU da Web
- Na seção "Vertex AI" do Console do Google Cloud, acesse a página Recursos.
- Selecione uma região na lista suspensa Região.
- Na barra de ações, clique em Exibir jobs de ingestão para listar os jobs de importação de todos os featurestores.
- Clique no ID de um job de importação para exibir os detalhes, como a origem de dados, o número de entidades de importação e o número de valores de atributos importados.
Substituir dados existentes em uma featurestore
É possível reimportar valores para substituir os valores de atributos atuais, caso ambos tenham os mesmos carimbos de data/hora. Não é necessário excluir os valores de recursos existentes primeiro. Por exemplo, você pode confiar em dados de origem subjacentes que foram alterados recentemente. Para manter o featurestore consistente com esses dados subjacentes, importe os valores do recurso novamente. Se você tiver carimbos de data/hora incompatíveis, os valores importados serão considerados exclusivos, e os valores antigos continuarão a existir (não serão substituídos).
Para garantir a consistência entre as solicitações de disponibilização on-line e em lote, aguarde até que o job de importação seja concluído antes de fazer qualquer solicitação de disponibilização.
Preenchimento de dados históricos
Se você estiver preenchendo dados onde estiver importando valores de recurso anteriores, desative a veiculação on-line do job de importação. A veiculação on-line serve apenas para exibir os valores de recurso mais recentes, sem o preenchimento. Desativar a veiculação on-line é útil porque você elimina qualquer carga nos nós de veiculação on-line e aumenta a capacidade de processamento do job de importação, o que pode diminuir o tempo de conclusão.
É possível desativar a veiculação on-line para jobs de importação usando a API ou as bibliotecas de cliente. Para mais informações, consulte o campo disableOnlineServing
para o
método
importFeatureValue.
A seguir
- Saiba como exibir recursos por meio da veiculação on-line ou da veiculação em lote.
- Saiba como monitorar valores de recursos importados ao longo do tempo.
- Veja a cota de jobs em lote simultâneos do Vertex AI Feature Store.
- Resolva problemas comuns da Feature Store da Vertex AI (legada).