A importação em lote permite-lhe importar valores de atributos em massa a partir de uma origem de dados válida. Num pedido de importação em lote, pode importar valores para até 100 caraterísticas de um tipo de entidade. Tenha em atenção que só pode ter uma tarefa de importação em lote em execução por tipo de entidade para evitar colisões.
Num pedido de importação em lote, especifique a localização dos dados de origem e como são mapeados para funcionalidades no seu Feature Store. Uma vez que cada pedido de importação em lote é para um único tipo de entidade, os dados de origem também têm de ser para um único tipo de entidade.
Após a conclusão bem-sucedida da importação, os valores das caraterísticas ficam disponíveis para operações de leitura subsequentes.
- Para informações sobre os requisitos dos dados de origem, consulte os Requisitos dos dados de origem.
- Para ver informações sobre durante quanto tempo o Vertex AI Feature Store (antigo) retém os seus dados na loja offline, consulte o artigo Vertex AI Feature Store (antigo) em Quotas e limites.
- Para ver informações sobre a data/hora mais antiga do valor da funcionalidade que pode importar, consulte o artigo Vertex AI Feature Store (antigo) em Quotas e limites.
- Não pode importar valores de atributos cujas datas/horas indiquem datas ou horas futuras.
Desempenho da tarefa de importação
O Vertex AI Feature Store (antigo) oferece uma importação de elevado débito, mas a latência mínima pode demorar alguns minutos. Cada pedido ao Vertex AI Feature Store (antigo) inicia uma tarefa para concluir o trabalho. Uma tarefa de importação demora alguns minutos a ser concluída, mesmo que esteja a importar um único registo.
Se quiser ajustar o desempenho de uma tarefa, altere as duas variáveis seguintes:
- O número de nós de publicação online da Feature Store.
- O número de trabalhadores usados para a tarefa de importação. Os trabalhadores processam e escrevem dados no Feature Store.
O número recomendado de trabalhadores é um trabalhador para cada 10 nós de serviço online no Feature Store. Pode aumentar o valor se a carga de publicação online for baixa. Pode especificar um máximo de 100 trabalhadores. Para mais orientações, consulte o artigo monitorize e ajuste os recursos em conformidade para otimizar a importação em lote.
Se o cluster de publicação online tiver um aprovisionamento insuficiente, a tarefa de importação pode falhar. Em caso de falha, tente novamente o pedido de importação quando a carga de publicação online for baixa ou aumente a quantidade de nós do Feature Store e, em seguida, tente novamente o pedido.
Se o Feature Store não tiver uma loja online (zero nós de publicação online), a tarefa de importação escreve apenas na loja offline e o desempenho da tarefa depende exclusivamente do número de trabalhadores de importação.
Consistência dos dados
Podem ser introduzidas inconsistências se os dados de origem forem modificados durante a importação. Certifique-se de que todas as modificações dos dados de origem estão concluídas antes de iniciar uma tarefa de importação. Além disso, os valores de atributos duplicados podem resultar na publicação de valores diferentes entre pedidos online e em lote. Certifique-se de que tem um valor de funcionalidade para cada par de ID de entidade e carimbo de data/hora.
Se uma operação de importação falhar, o Feature Store pode ter apenas dados parciais, o que pode levar à devolução de valores inconsistentes entre pedidos de fornecimento online e em lote. Para evitar esta inconsistência, tente novamente o mesmo pedido de importação e aguarde até que o pedido seja concluído com êxito.
Valores nulos e matrizes vazias
Durante a importação, o Vertex AI Feature Store (antigo) considera os valores escalares nulos ou as matrizes vazias como valores vazios. Estes incluem valores vazios numa coluna CSV. O Vertex AI Feature Store (antigo) não suporta valores nulos não escalares, como um valor null
numa matriz.
Durante a publicação online e a publicação em lote, o Vertex AI Feature Store (antigo) devolve o valor mais recente não nulo ou não vazio da funcionalidade. Se não estiver disponível um valor histórico da funcionalidade, o Vertex AI Feature Store (antigo) devolve null
.
Valores NaN
O Vertex AI Feature Store (antigo) suporta valores NaN (Not a Number) em Double
e DoubleArray
. Durante a importação, pode introduzir NaN
no ficheiro CSV de entrada de publicação para representar um valor NaN. Durante a publicação online e a publicação em lote, o Vertex AI Feature Store (antigo) devolve NaN
para valores NaN.
Importação em lote
Importe valores em massa para um Feature Store para uma ou mais caraterísticas de um único tipo de entidade.
IU da Web
- Na secção Vertex AI da Google Cloud consola, aceda à página Funcionalidades.
- Selecione uma região na lista pendente Região.
- Na tabela de atributos, veja a coluna Tipo de entidade e encontre o tipo de entidade que contém os atributos para os quais quer importar valores.
- Clique no nome do tipo de entidade.
- Na barra de ações, clique em Carregar valores.
- Para Origem de dados, selecione uma das seguintes opções:
- Ficheiro CSV do Cloud Storage: selecione esta opção para importar dados de vários ficheiros CSV do Cloud Storage. Especifique o caminho e o nome do ficheiro CSV. Para especificar ficheiros adicionais, clique em Adicionar outro ficheiro.
- Ficheiro AVRO do Cloud Storage: selecione esta opção para importar dados de um ficheiro AVRO do Cloud Storage. Especifique o caminho e o nome do ficheiro AVRO.
- Tabela do BigQuery: selecione esta opção para importar dados de uma tabela ou uma vista do BigQuery. Procure e selecione uma tabela ou uma vista a usar, que está no seguinte formato:
PROJECT_ID.DATASET_ID.TABLE_ID
- Clique em Continuar.
- Para Mapear coluna a elementos, especifique que colunas nos seus dados de origem
são mapeadas para entidades e elementos no seu Feature Store.
- Especifique o nome da coluna nos dados de origem que contém os IDs das entidades.
- Para a data/hora, especifique uma coluna de data/hora nos dados de origem ou especifique uma única data/hora associada a todos os valores de atributos que importa.
- Na lista de funcionalidades, introduza o nome da coluna de dados de origem que corresponde a cada funcionalidade. Por predefinição, o Vertex AI Feature Store (antigo) assume que o nome da caraterística e o nome da coluna correspondem.
- Clique em Carregar.
REST
Para importar valores de funcionalidades para funcionalidades existentes, envie um pedido POST através do método
featurestores.entityTypes.importFeatureValues. Tenha em atenção que, se os nomes das colunas de dados de origem e os IDs das
funcionalidades de destino forem diferentes, inclua o parâmetro sourceField
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- LOCATION_ID: região onde o Feature Store é criado. Por exemplo,
us-central1
. - PROJECT_ID: o seu ID do projeto.
- FEATURESTORE_ID: ID da Feature Store.
- ENTITY_TYPE_ID: ID do tipo de entidade.
- ENTITY_SOURCE_COLUMN_ID: ID da coluna de origem que contém os IDs das entidades.
- FEATURE_TIME_ID: ID da coluna de origem que contém as indicações de tempo das caraterísticas para os valores das caraterísticas.
- FEATURE_ID: ID de uma funcionalidade existente no Feature Store para importar valores.
- FEATURE_SOURCE_COLUMN_ID: ID da coluna de origem que contém valores de caraterísticas para as entidades.
- SOURCE_DATA_DETAILS: a localização dos dados de origem, que também indica o formato, como
"bigquerySource": { "inputUri": "bq://test.dataset.sourcetable" }
para uma tabela ou uma vista do BigQuery. - WORKER_COUNT: o número de trabalhadores a usar para escrever dados no Feature Store.
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 do pedido:
{ "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 o seu pedido, escolha uma destas opções:
curl
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte comando:
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
Guarde o corpo do pedido num ficheiro com o nome request.json
,
e execute o seguinte 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 "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
Deverá ver uma saída semelhante à seguinte. Pode usar o elemento OPERATION_ID na resposta para obter o estado 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 ou atualizar o SDK Vertex AI para Python, consulte o artigo Instale o SDK Vertex AI para Python. Para mais informações, consulte a Python documentação de referência da API.
Java
Antes de experimentar este exemplo, siga as Javainstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Java Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Antes de experimentar este exemplo, siga as Node.jsinstruções de configuração no início rápido do Vertex AI com bibliotecas de cliente. Para mais informações, consulte a documentação de referência da API Node.js Vertex AI.
Para se autenticar no Vertex AI, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Veja tarefas de importação
Use a consola Google Cloud para ver tarefas de importação em lote num Google Cloud projeto.
IU da Web
- Na secção Vertex AI da Google Cloud consola, aceda à página Funcionalidades.
- Selecione uma região na lista pendente Região.
- Na barra de ações, clique em Ver tarefas de carregamento para listar as tarefas de importação de todas as featurestores.
- Clique no ID de uma tarefa de importação para ver os respetivos detalhes, como a origem de dados, o número de entidades de importação e o número de valores de atributos importados.
Substitua dados existentes num Feature Store
Pode reimportar valores para substituir os valores das caraterísticas existentes se ambos tiverem as mesmas datas/horas. Não precisa de eliminar primeiro os valores das funcionalidades existentes. Por exemplo, pode depender de dados de origem subjacentes que foram alterados recentemente. Para manter o featurestore consistente com esses dados subjacentes, importe novamente os valores das funcionalidades. Se tiver datas/horas diferentes, os valores importados são considerados únicos e os valores antigos continuam a existir (não são substituídos).
Para garantir a consistência entre os pedidos de publicação online e em lote, aguarde até que a tarefa de importação esteja concluída antes de fazer pedidos de publicação.
Preencha dados do histórico
Se estiver a preencher dados, em que importa valores de atributos anteriores, desative a publicação online para a tarefa de importação. A publicação online destina-se apenas à publicação dos valores das funcionalidades mais recentes, que o preenchimento não inclui. A desativação da publicação online é útil porque elimina qualquer carga nos nós de publicação online e aumenta o débito para a tarefa de importação, o que pode diminuir o tempo de conclusão.
Pode desativar a publicação online para tarefas de importação quando usa a API ou as bibliotecas
de cliente. Para mais informações, consulte o campo disableOnlineServing
do
método importFeatureValue.
O que se segue?
- Saiba como publicar funcionalidades através da publicação online ou da publicação em lote.
- Saiba como monitorizar os valores das funcionalidades importadas ao longo do tempo.
- Veja a quota de tarefas em lote simultâneas do Vertex AI Feature Store (antigo).
- Resolva problemas comuns do Vertex AI Feature Store (antigo).