Bigtable 變更串流到 Vector Search 範本

這個範本會建立串流管道,使用 Dataflow Portable Runner 串流 Bigtable 資料變更記錄,並將這些記錄寫入 Vertex AI Vector Search。

管道相關規定

  • Bigtable 來源執行個體必須存在。
  • Bigtable 來源資料表必須存在,且必須啟用變更串流。
  • Bigtable 應用程式設定檔必須存在。
  • Vector Search 索引路徑必須存在。

範本參數

必要參數

  • embeddingColumn:儲存嵌入內容的完整資料欄名稱。格式為 cf:col。
  • embeddingByteSize:嵌入陣列中每個項目的位元組大小。浮點數請使用 4,雙精度浮點數請使用 8。預設為:4。
  • vectorSearchIndex:要串流變更的向量搜尋索引,格式為「projects/{projectID}/locations/{region}/indexes/{indexID}」(開頭或結尾不得有空格)。例如:projects/123/locations/us-east1/indexes/456
  • bigtableChangeStreamAppProfile:Bigtable 應用程式設定檔 ID。應用程式設定檔必須使用單叢集轉送,並允許單列交易。
  • bigtableReadInstanceId:來源 Bigtable 執行個體 ID。
  • bigtableReadTableId:來源 Bigtable 資料表 ID。

執行範本

控制台

  1. 前往 Dataflow 的「Create job from template」(依據範本建立工作) 頁面。
  2. 前往「依範本建立工作」
  3. 在「Job name」(工作名稱) 欄位中,輸入專屬工作名稱。
  4. 選用:如要使用區域端點,請從下拉式選單中選取值。預設區域為 us-central1

    如需可執行 Dataflow 工作的區域清單,請參閱「Dataflow 位置」。

  5. 從「Dataflow template」(Dataflow 範本) 下拉式選單中,選取「Bigtable Change Streams to Vector Search」(Bigtable 變更串流至向量搜尋) 範本。
  6. 在提供的參數欄位中輸入參數值。
  7. 按一下「Run Job」(執行工作)

gcloud CLI

在殼層或終端機中執行範本:

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,\

更改下列內容:

  • JOB_NAME:您選擇的不重複工作名稱
  • VERSION:您要使用的範本版本

    您可以使用下列值:

  • REGION_NAME:您要部署 Dataflow 工作的區域,例如 us-central1
  • EMBEDDING_COLUMN:Embedding 資料欄
  • EMBEDDING_BYTE_SIZE:嵌入陣列的位元組大小。可以是 4 或 8。
  • VECTOR_SEARCH_INDEX:Vector Search 索引路徑
  • BIGTABLE_CHANGE_STREAM_APP_PROFILE:Bigtable 應用程式設定檔 ID
  • BIGTABLE_READ_INSTANCE_ID:來源 Bigtable 執行個體 ID
  • BIGTABLE_READ_TABLE_ID:來源 Bigtable 資料表 ID

API

如要使用 REST API 執行範本,請傳送 HTTP POST 要求。如要進一步瞭解 API 和授權範圍,請參閱 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" }
  }
}

更改下列內容:

  • PROJECT_ID:您要執行 Dataflow 工作的 Google Cloud 專案 ID
  • JOB_NAME:您選擇的不重複工作名稱
  • VERSION:您要使用的範本版本

    您可以使用下列值:

  • LOCATION:您要部署 Dataflow 工作的區域,例如 us-central1
  • EMBEDDING_COLUMN:Embedding 資料欄
  • EMBEDDING_BYTE_SIZE:嵌入陣列的位元組大小。可以是 4 或 8。
  • VECTOR_SEARCH_INDEX:Vector Search 索引路徑
  • BIGTABLE_CHANGE_STREAM_APP_PROFILE:Bigtable 應用程式設定檔 ID
  • BIGTABLE_READ_INSTANCE_ID:來源 Bigtable 執行個體 ID
  • BIGTABLE_READ_TABLE_ID:來源 Bigtable 資料表 ID