Il modello per i file Spanner to Vertex AI Vector Search su Cloud Storage crea una pipeline batch che
esporta i dati degli incorporamenti vettoriali da una tabella Spanner in Cloud Storage in formato JSON. Utilizza i parametri del modello per specificare la cartella Cloud Storage in cui esportare gli embedding vettore.
La cartella Cloud Storage contiene l'elenco dei file .json
esportati, che rappresentano gli incorporamenti vettoriali in un formato supportato dall'indice Vertex AI Vector Search.
Per ulteriori informazioni, consulta la sezione Formato e struttura dei dati di input.
Requisiti della pipeline
- Il database Spanner deve esistere.
- Il bucket Cloud Storage per l'output dei dati deve esistere.
- Oltre ai ruoli IAM (Identity and Access Management) necessari per eseguire i job Dataflow, devi avere i ruoli IAM obbligatori per leggere i dati di Spanner e scrivere nel bucket Cloud Storage.
Parametri del modello
Parametri obbligatori
- spannerProjectId: l'ID progetto dell'istanza Spanner.
- spannerInstanceId: l'ID dell'istanza Spanner da cui esportare gli embedding vettoriali.
- spannerDatabaseId: l'ID del database Spanner da cui esportare gli embedding vettoriali.
- spannerTable: la tabella Spanner da cui leggere.
- spannerColumnsToExport: un elenco separato da virgole delle colonne richieste per l'indice Vertex AI Vector Search. Le colonne ID e incorporamento sono obbligatorie per la Ricerca vettoriale. Se i nomi delle colonne non corrispondono alla struttura di input dell'indice di Vertex AI Vector Search, crea le mappature delle colonne utilizzando gli alias. Se i nomi delle colonne non corrispondono al formato previsto da Vertex AI, utilizza la notazione da:a. Ad esempio, se hai colonne denominate id e my_embedding, specifica id, my_embedding:embedding.
- gcsOutputFolder: la cartella Cloud Storage in cui scrivere i file di output. Il percorso deve terminare con una barra. Ad esempio,
gs://your-bucket/folder1/
. - gcsOutputFilePrefix: il prefisso del nome file per la scrittura dei file di output. Ad esempio,
vector-embeddings
.
Parametri facoltativi
- spannerHost: l'endpoint Spanner da chiamare nel modello. Il valore predefinito è https://batch-spanner.googleapis.com. Ad esempio,
https://batch-spanner.googleapis.com
. - spannerVersionTime: se impostato, specifica il momento in cui deve essere acquisita la versione del database. Il valore è una stringa nel formato data RFC-3339 nell'ora di epoch di Unix. Ad esempio:
1990-12-31T23:59:60Z
. Il timestamp deve essere nel passato e si applica l'obsolescenza massima del timestamp (https://cloud.google.com/spanner/docs/timestamp-bounds#maximum_timestamp_staleness). Se non impostato, viene utilizzato un limite rigoroso (https://cloud.google.com/spanner/docs/timestamp-bounds#strong) per leggere i dati più recenti. Il valore predefinito èempty
. Ad esempio,1990-12-31T23:59:60Z
. - spannerDataBoostEnabled: se impostato su
true
, il modello utilizza il calcolo on demand di Spanner. Il job di esportazione viene eseguito su risorse di calcolo indipendenti che non influiscono sui carichi di lavoro Spanner attuali. L'utilizzo di questa opzione comporta costi aggiuntivi in Spanner. Per ulteriori informazioni, consulta la panoramica di Spanner Data Boost (https://cloud.google.com/spanner/docs/databoost/databoost-overview). Il valore predefinito èfalse
. - spannerPriority: la priorità della richiesta per le chiamate Spanner. I valori consentiti sono
HIGH
,MEDIUM
eLOW
. Il valore predefinito èMEDIUM
.
Esegui il modello
Console
- Vai alla pagina Crea job da modello di Dataflow. Vai a Crea job da modello
- Nel campo Nome job, inserisci un nome univoco per il job.
- (Facoltativo) Per Endpoint a livello di regione, seleziona un valore dal menu a discesa. La regione predefinita è
us-central1
.Per un elenco delle regioni in cui puoi eseguire un job Dataflow, consulta Località di Dataflow.
- Nel menu a discesa Modello di flusso di dati, seleziona the Spanner to Vertex AI Vector Search files on Cloud Storage template.
- Nei campi dei parametri forniti, inserisci i valori dei parametri.
- Fai clic su Esegui job.
gcloud
Nella shell o nel terminale, esegui il modello:
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,\
Sostituisci quanto segue:
JOB_NAME
: un nome di job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates-REGION_NAME/latest/- il nome della versione, ad esempio
2023-09-12-00_RC00
, per utilizzare una versione specifica del modello, che si trova nidificata nella rispettiva cartella principale datata nel bucket: gs://dataflow-templates-REGION_NAME/
REGION_NAME
: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempious-central1
SPANNER_PROJECT_ID
: l'ID progetto SpannerSPANNER_INSTANCE_ID
: l'ID istanza SpannerSPANNER_DATABASE_ID
: l'ID database SpannerSPANNER_TABLE
: la tabella SpannerSPANNER_COLUMNS_TO_EXPORT
: le colonne da esportare dalla tabella SpannerGCS_OUTPUT_FOLDER
: la cartella Cloud Storage in cui devono essere generati i fileGCS_OUTPUT_FILE_PREFIX
: il prefisso dei file di output in Cloud Storage
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta POST HTTP. Per ulteriori informazioni sull'API e sui relativi ambiti di autorizzazione, consulta 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" } }
Sostituisci quanto segue:
PROJECT_ID
: l'ID del progetto Google Cloud in cui vuoi eseguire il job DataflowJOB_NAME
: un nome di job univoco a tua sceltaVERSION
: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latest
per utilizzare la versione più recente del modello, disponibile nella cartella principale senza data del bucket: gs://dataflow-templates-REGION_NAME/latest/- il nome della versione, ad esempio
2023-09-12-00_RC00
, per utilizzare una versione specifica del modello, che si trova nidificata nella rispettiva cartella principale datata nel bucket: gs://dataflow-templates-REGION_NAME/
LOCATION
: la regione in cui vuoi eseguire il deployment del job Dataflow, ad esempious-central1
SPANNER_PROJECT_ID
: l'ID progetto SpannerSPANNER_INSTANCE_ID
: l'ID istanza SpannerSPANNER_DATABASE_ID
: l'ID database SpannerSPANNER_TABLE
: la tabella SpannerSPANNER_COLUMNS_TO_EXPORT
: le colonne da esportare dalla tabella SpannerGCS_OUTPUT_FOLDER
: la cartella Cloud Storage in cui devono essere generati i fileGCS_OUTPUT_FILE_PREFIX
: il prefisso dei file di output in Cloud Storage
Passaggi successivi
- Scopri di più sui modelli Dataflow.
- Consulta l'elenco dei modelli forniti da Google.