Questo modello crea una pipeline di streaming per trasmettere i flussi di record delle modifiche dei dati di Bigtable e scriverli in Vertex AI Vector Search utilizzando Dataflow Runner V2.
Requisiti della pipeline
- L'istanza di origine Bigtable deve esistere.
- La tabella di origine Bigtable deve esistere e deve avere gli stream di modifiche in tempo reale abilitati.
- Il profilo dell'applicazione Bigtable deve esistere.
- Il percorso dell'indice Vector Search deve esistere.
Parametri del modello
Parametri obbligatori
- embeddingColumn: il nome completo della colonna in cui sono archiviati gli incorporamenti. Nel formato cf:col.
- embeddingByteSize: le dimensioni in byte di ogni voce nell'array di incorporamenti. Utilizza 4 per Float e 8 per Double. Il valore predefinito è 4.
- vectorSearchIndex: l'indice Vector Search in cui verranno trasmessi i flussi di modifiche, nel formato "projects/{projectID}/locations/{region}/indexes/{indexID}" (senza spazi iniziali o finali). Ad esempio,
projects/123/locations/us-east1/indexes/456. - bigtableChangeStreamAppProfile: l'ID del profilo dell'applicazione Bigtable. Il profilo dell'applicazione deve utilizzare il routing a cluster singolo e consentire le transazioni su riga singola.
- bigtableReadInstanceId: l'ID dell'istanza Bigtable di origine.
- bigtableReadTableId: l'ID della tabella Bigtable di origine.
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 job univoco.
- (Facoltativo) Per Endpoint regionale, 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à Dataflow.
- Dal menu a discesa Modello Dataflow, seleziona il modello Stream di modifiche di Bigtable a Vector Search.
- Nei campi dei parametri forniti, inserisci i valori dei parametri.
- Fai clic su Esegui job.
gcloud CLI
Nella shell o nel terminale, esegui il modello:
gcloud dataflow flex-template run JOB_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/ \ --project=PROJECT_ID \ --region=REGION_NAME \ --parameters \ embeddingColumn=EMBEDDING_COLUMN,\ embeddingByteSize=EMBEDDING_BYTE_SIZE,\ vectorSearchIndex=VECTOR_SEARCH_INDEX,\ bigtableChangeStreamAppProfile=BIGTABLE_CHANGE_STREAM_APP_PROFILE,\ bigtableReadInstanceId=BIGTABLE_READ_INSTANCE_ID,\ bigtableReadTableId=BIGTABLE_READ_TABLE_ID,\
Sostituisci quanto segue:
JOB_NAME: un nome job univoco a tua sceltaVERSION: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latestper utilizzare la versione più recente del modello, disponibile nella cartella principale non datata nel 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-central1EMBEDDING_COLUMN: la colonna di incorporamentoEMBEDDING_BYTE_SIZE: le dimensioni in byte dell'array di incorporamenti. Può essere 4 o 8.VECTOR_SEARCH_INDEX: il percorso dell'indice della Ricerca vettorialeBIGTABLE_CHANGE_STREAM_APP_PROFILE: l'ID del profilo dell'applicazione BigtableBIGTABLE_READ_INSTANCE_ID: l'ID dell'istanza Bigtable di origineBIGTABLE_READ_TABLE_ID: l'ID della tabella Bigtable di origine
API
Per eseguire il modello utilizzando l'API REST, invia una richiesta HTTP POST. Per saperne di più sull'
API e sui relativi ambiti di autorizzazione, consulta
projects.templates.launch.
POST https://dataflow.googleapis.com/v1b3/projects/PROJECT_ID/locations/LOCATION/flexTemplates:launch { "launchParameter": { "jobName": "JOB_NAME", "parameters": { "embeddingColumn": "EMBEDDING_COLUMN", "embeddingByteSize": "EMBEDDING_BYTE_SIZE", "vectorSearchIndex": "VECTOR_SEARCH_INDEX", "bigtableChangeStreamAppProfile": "BIGTABLE_CHANGE_STREAM_APP_PROFILE", "bigtableReadInstanceId": "BIGTABLE_READ_INSTANCE_ID", "bigtableReadTableId": "BIGTABLE_READ_TABLE_ID", }, "containerSpecGcsPath": "gs://dataflow-templates-LOCATION/VERSION/flex/", "environment": { "maxWorkers": "10" } } }
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto in cui vuoi eseguire il job Dataflow Google CloudJOB_NAME: un nome job univoco a tua sceltaVERSION: la versione del modello che vuoi utilizzarePuoi utilizzare i seguenti valori:
latestper utilizzare la versione più recente del modello, disponibile nella cartella principale non datata nel 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-central1EMBEDDING_COLUMN: la colonna di incorporamentoEMBEDDING_BYTE_SIZE: le dimensioni in byte dell'array di incorporamenti. Può essere 4 o 8.VECTOR_SEARCH_INDEX: il percorso dell'indice della Ricerca vettorialeBIGTABLE_CHANGE_STREAM_APP_PROFILE: l'ID del profilo dell'applicazione BigtableBIGTABLE_READ_INSTANCE_ID: l'ID dell'istanza Bigtable di origineBIGTABLE_READ_TABLE_ID: l'ID della tabella Bigtable di origine