Diese Vorlage erstellt eine Streamingpipeline, um Bigtable-Datenänderungsdatensätze zu streamen und sie mit Dataflow Runner V2 in die Vertex AI Vektorsuche zu schreiben.
Pipelineanforderungen
- Die Bigtable-Quellinstanz muss vorhanden sein.
- Die Bigtable-Quelltabelle muss vorhanden sein und für die Tabelle müssen Änderungsstreams aktiviert sein.
- Das Bigtable-Anwendungsprofil muss vorhanden sein.
- Der Indexpfad für die Vektorsuche muss vorhanden sein.
Vorlagenparameter
Erforderliche Parameter
- embeddingColumn: Der voll qualifizierte Spaltenname, in dem die Einbettungen gespeichert sind. Im Format cf:col.
- embeddingByteSize: Die Bytegröße jedes Eintrags im Einbettungsarray. Verwenden Sie 4 für Float und 8 für Double. Die Standardeinstellung ist 4.
- vectorSearchIndex: Der Vektorsuchindex, in den Änderungen gestreamt werden, im Format „projects/{projectID}/locations/{region}/indexes/{indexID}“ (keine voran- oder nachgestellten Leerzeichen). Beispiel:
projects/123/locations/us-east1/indexes/456. - bigtableChangeStreamAppProfile: Die Bigtable-Anwendungsprofil-ID. Das Anwendungsprofil muss Single-Cluster-Routing verwenden und Transaktionen für einzelne Zeilen zulassen.
- bigtableReadInstanceId: Die Bigtable-Quellinstanz-ID.
- bigtableReadTableId: Die Bigtable-Quelltabellen-ID.
Führen Sie die Vorlage aus.
Console
- Rufen Sie die Dataflow-Seite Job aus Vorlage erstellen auf. Zur Seite "Job aus Vorlage erstellen“
- Geben Sie im Feld Jobname einen eindeutigen Jobnamen ein.
- Optional: Wählen Sie für Regionaler Endpunkt einen Wert aus dem Drop-down-Menü aus. Die Standardregion ist
us-central1.Eine Liste der Regionen, in denen Sie einen Dataflow-Job ausführen können, finden Sie unter Dataflow-Standorte.
- Wählen Sie im Drop-down-Menü Dataflow-Vorlage die Vorlage Bigtable-Änderungsstreams in die Vektorsuche aus.
- Geben Sie Ihre Parameterwerte in die Parameterfelder ein.
- Klicken Sie auf Job ausführen.
gcloud-CLI
Führen Sie die Vorlage in der Shell oder im Terminal aus:
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,\
Ersetzen Sie Folgendes:
JOB_NAME: Ein eindeutiger Jobname Ihrer WahlVERSION: Die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latestzur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates-REGION_NAME/latest/- Den Versionsnamen wie
2023-09-12-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates-REGION_NAME/.
REGION_NAME: die Region, in der Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1EMBEDDING_COLUMN: die EinbettungsspalteEMBEDDING_BYTE_SIZE: die Bytegröße des Einbettungsarrays. Kann 4 oder 8 sein.VECTOR_SEARCH_INDEX: der Indexpfad der VektorsucheBIGTABLE_CHANGE_STREAM_APP_PROFILE: die Bigtable-Anwendungsprofil-IDBIGTABLE_READ_INSTANCE_ID: die Bigtable-Quellinstanz-IDBIGTABLE_READ_TABLE_ID: die Bigtable-Quelltabellen-ID.
API
Senden Sie eine HTTP-POST-Anfrage, um die Vorlage mithilfe der REST API auszuführen. Weitere Informationen zur API und ihren Autorisierungsbereichen finden Sie unter 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" } } }
Ersetzen Sie Folgendes:
PROJECT_ID: Die Google Cloud Projekt-ID, in der Sie den Dataflow-Job ausführen möchtenJOB_NAME: Ein eindeutiger Jobname Ihrer WahlVERSION: Die Version der Vorlage, die Sie verwenden möchtenSie können die folgenden Werte verwenden:
latestzur Verwendung der neuesten Version der Vorlage, die im nicht datierten übergeordneten Ordner im Bucket verfügbar ist: gs://dataflow-templates-REGION_NAME/latest/- Den Versionsnamen wie
2023-09-12-00_RC00, um eine bestimmte Version der Vorlage zu verwenden. Diese ist verschachtelt im jeweiligen datierten übergeordneten Ordner im Bucket enthalten: gs://dataflow-templates-REGION_NAME/.
LOCATION: die Region, in der Sie Ihren Dataflow-Job bereitstellen möchten, z. B.us-central1EMBEDDING_COLUMN: die EinbettungsspalteEMBEDDING_BYTE_SIZE: die Bytegröße des Einbettungsarrays. Kann 4 oder 8 sein.VECTOR_SEARCH_INDEX: der Indexpfad der VektorsucheBIGTABLE_CHANGE_STREAM_APP_PROFILE: die Bigtable-Anwendungsprofil-IDBIGTABLE_READ_INSTANCE_ID: die Bigtable-Quellinstanz-IDBIGTABLE_READ_TABLE_ID: die Bigtable-Quelltabellen-ID