O modelo para ficheiros do Spanner para a pesquisa vetorial da Vertex AI no Cloud Storage cria um pipeline em lote que
exporta dados de incorporações vetoriais de uma tabela do Spanner para o Cloud Storage no formato
JSON. Use parâmetros de modelo para especificar a pasta do Cloud Storage para a qual exportar as incorporações vetoriais.
A pasta do Cloud Storage contém a lista de ficheiros .json
exportados, que representam as incorporações vetoriais num formato suportado pelo índice de pesquisa vetorial do Vertex AI.
Para mais informações, consulte o artigo Formato e estrutura dos dados de entrada.
Requisitos do pipeline
- A base de dados do Spanner tem de existir.
- O contentor do Cloud Storage para a saída de dados tem de existir.
- Além das funções de gestão de identidade e de acesso (IAM) necessárias para executar tarefas do Dataflow, precisa das funções de IAM necessárias para ler os seus dados do Spanner e escrever no seu contentor do Cloud Storage.
Parâmetros de modelos
Parâmetros obrigatórios
- spannerProjectId: o ID do projeto da instância do Spanner.
- spannerInstanceId: o ID da instância do Spanner a partir da qual exportar as incorporações de vetores.
- spannerDatabaseId: o ID da base de dados do Spanner a partir da qual exportar as incorporações vetoriais.
- spannerTable: a tabela do Spanner a partir da qual ler.
- spannerColumnsToExport: uma lista separada por vírgulas das colunas necessárias para o índice do Vertex AI Vector Search. As colunas de ID e incorporação são obrigatórias para o Vector Search. Se os nomes das colunas não corresponderem à estrutura de entrada do índice do Vertex AI Vector Search, crie mapeamentos de colunas através de alias. Se os nomes das colunas não corresponderem ao formato esperado pelo Vertex AI, use a notação de:para. Por exemplo, se tiver colunas denominadas id e my_embedding, especifique id, my_embedding:embedding.
- gcsOutputFolder: a pasta do Cloud Storage para a qual os ficheiros de saída são escritos. O caminho tem de terminar com uma barra. Por exemplo,
gs://your-bucket/folder1/
. - gcsOutputFilePrefix: o prefixo do nome do ficheiro para escrever ficheiros de saída. Por exemplo,
vector-embeddings
.
Parâmetros opcionais
- spannerHost: o ponto final do Spanner a chamar no modelo. O valor predefinido é https://batch-spanner.googleapis.com. Por exemplo,
https://batch-spanner.googleapis.com
. - spannerVersionTime: se estiver definido, especifica a hora em que a versão da base de dados tem de ser obtida. O valor é uma string no formato de data RFC-3339 na hora epoch Unix. Por exemplo:
1990-12-31T23:59:60Z
. A data/hora tem de ser no passado e aplica-se a obsolescência máxima da data/hora (https://cloud.google.com/spanner/docs/timestamp-bounds#maximum_timestamp_staleness). Se não estiver definido, é usado um limite forte (https://cloud.google.com/spanner/docs/timestamp-bounds#strong) para ler os dados mais recentes. A predefinição éempty
. Por exemplo,1990-12-31T23:59:60Z
. - spannerDataBoostEnabled: quando definido como
true
, o modelo usa o cálculo a pedido do Spanner. A tarefa de exportação é executada em recursos de computação independentes que não afetam as cargas de trabalho atuais do Spanner. A utilização desta opção incorre em custos adicionais no Spanner. Para mais informações, consulte a vista geral do Spanner Data Boost (https://cloud.google.com/spanner/docs/databoost/databoost-overview). Predefinição:false
. - spannerPriority: a prioridade do pedido para chamadas do Spanner. Os valores permitidos são
HIGH
,MEDIUM
eLOW
. O valor predefinido éMEDIUM
.
Execute o modelo
Consola
- Aceda à página do fluxo de dados Criar tarefa a partir de um modelo. Aceda a Criar tarefa a partir de modelo
- No campo Nome da tarefa, introduza um nome exclusivo para a tarefa.
- Opcional: para Ponto final regional, selecione um valor no menu pendente. A região
predefinida é
us-central1
.Para ver uma lista das regiões onde pode executar uma tarefa do Dataflow, consulte as localizações do Dataflow.
- No menu pendente Modelo do fluxo de dados, selecione the Spanner to Vertex AI Vector Search files on Cloud Storage template.
- Nos campos de parâmetros fornecidos, introduza os valores dos parâmetros.
- Clique em Executar tarefa.
gcloud
Na shell ou no terminal, execute o modelo:
gcloud dataflow jobs run JOB_NAME \ --gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/Cloud_Spanner_vectors_to_Cloud_Storage \ --project=PROJECT_ID \ --region=REGION_NAME \ --parameters \ spannerProjectId=SPANNER_PROJECT_ID,\ spannerInstanceId=SPANNER_INSTANCE_ID,\ spannerDatabaseId=SPANNER_DATABASE_ID,\ spannerTable=SPANNER_TABLE,\ spannerColumnsToExport=SPANNER_COLUMNS_TO_EXPORT,\ gcsOutputFolder=GCS_OUTPUT_FOLDER,\ gcsOutputFilePrefix=GCS_OUTPUT_FILE_PREFIX,\
Substitua o seguinte:
JOB_NAME
: um nome de tarefa exclusivo à sua escolhaVERSION
: a versão do modelo que quer usarPode usar os seguintes valores:
latest
para usar a versão mais recente do modelo, que está disponível na pasta principal sem data no contentor: gs://dataflow-templates-REGION_NAME/latest/- o nome da versão, como
2023-09-12-00_RC00
, para usar uma versão específica do modelo, que pode ser encontrada aninhada na pasta principal com a data correspondente no contentor: gs://dataflow-templates-REGION_NAME/
REGION_NAME
: a região onde quer implementar a tarefa do Dataflow, por exemplo,us-central1
SPANNER_PROJECT_ID
: o ID do projeto do SpannerSPANNER_INSTANCE_ID
: o ID da instância do SpannerSPANNER_DATABASE_ID
: o ID da base de dados do SpannerSPANNER_TABLE
: a tabela do SpannerSPANNER_COLUMNS_TO_EXPORT
: as colunas a exportar da tabela do SpannerGCS_OUTPUT_FOLDER
: a pasta do Cloud Storage para a qual os ficheiros são enviadosGCS_OUTPUT_FILE_PREFIX
: o prefixo dos ficheiros de saída no Cloud Storage
API
Para executar o modelo através da API REST, envie um pedido HTTP POST. Para mais informações sobre a API e os respetivos âmbitos de autorização, consulte projects.templates.launch
.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/templates:launch?gcsPath=gs://dataflow-templates-LOCATION/VERSION/Cloud_Spanner_vectors_to_Cloud_Storage { "jobName": "JOB_NAME", "parameters": { "spannerProjectId": "SPANNER_PROJECT_ID", "spannerInstanceId": "SPANNER_INSTANCE_ID", "spannerDatabaseId": "SPANNER_DATABASE_ID", "spannerTable": "SPANNER_TABLE", "spannerColumnsToExport": "SPANNER_COLUMNS_TO_EXPORT", "gcsOutputFolder": "GCS_OUTPUT_FOLDER", "gcsOutputFilePrefix": "GCS_OUTPUT_FILE_PREFIX", }, "environment": { "maxWorkers": "10" } }
Substitua o seguinte:
PROJECT_ID
: o ID do projeto onde quer executar a tarefa do Dataflow Google CloudJOB_NAME
: um nome de tarefa exclusivo à sua escolhaVERSION
: a versão do modelo que quer usarPode usar os seguintes valores:
latest
para usar a versão mais recente do modelo, que está disponível na pasta principal sem data no contentor: gs://dataflow-templates-REGION_NAME/latest/- o nome da versão, como
2023-09-12-00_RC00
, para usar uma versão específica do modelo, que pode ser encontrada aninhada na pasta principal com a data correspondente no contentor: gs://dataflow-templates-REGION_NAME/
LOCATION
: a região onde quer implementar a tarefa do Dataflow, por exemplo,us-central1
SPANNER_PROJECT_ID
: o ID do projeto do SpannerSPANNER_INSTANCE_ID
: o ID da instância do SpannerSPANNER_DATABASE_ID
: o ID da base de dados do SpannerSPANNER_TABLE
: a tabela do SpannerSPANNER_COLUMNS_TO_EXPORT
: as colunas a exportar da tabela do SpannerGCS_OUTPUT_FOLDER
: a pasta do Cloud Storage para a qual os ficheiros são enviadosGCS_OUTPUT_FILE_PREFIX
: o prefixo dos ficheiros de saída no Cloud Storage
O que se segue?
- Saiba mais sobre os modelos do Dataflow.
- Consulte a lista de modelos fornecidos pela Google.