Spanner 到 Vertex AI Vector Search 範本

「Cloud Storage 上的 Spanner 到 Vertex AI Vector Search 檔案」範本會建立批次管道,將向量嵌入資料從 Spanner 資料表匯出至 Cloud Storage,並採用 JSON 格式。使用範本參數指定要將向量嵌入匯出至哪個 Cloud Storage 資料夾。 Cloud Storage 資料夾包含匯出的 .json 檔案清單,這些檔案代表 Vertex AI Vector Search 索引支援格式的向量嵌入。

詳情請參閱「輸入資料格式和結構」。

管道相關規定

  • Spanner 資料庫必須存在。
  • 輸出資料的 Cloud Storage bucket 必須存在。
  • 除了執行 Dataflow 工作時必要的 Identity and Access Management (IAM) 角色之外,您還要有可用來讀取 Spanner 資料及寫入 Cloud Storage 值區的必要 IAM 角色

範本參數

必要參數

  • spannerProjectId:Spanner 執行個體的專案 ID。
  • spannerInstanceId:要匯出向量嵌入的 Spanner 執行個體 ID。
  • spannerDatabaseId:要匯出向量嵌入內容的 Spanner 資料庫 ID。
  • spannerTable:要從中讀取的 Spanner 資料表。
  • spannerColumnsToExport:以半形逗號分隔的清單,列出 Vertex AI Vector Search 索引所需的資料欄。Vector Search 必須要有 ID 和嵌入項目欄。如果資料欄名稱與 Vertex AI Vector Search 索引輸入結構不符,請使用別名建立資料欄對應。如果資料欄名稱不符合 Vertex AI 預期的格式,請使用 from:to 標記。舉例來說,如果資料欄名稱為 id 和 my_embedding,請指定 id、my_embedding:embedding。
  • gcsOutputFolder:用於寫入輸出檔案的 Cloud Storage 資料夾。路徑結尾必須是斜線。例如:gs://your-bucket/folder1/
  • gcsOutputFilePrefix:寫入輸出檔案時使用的檔案名稱前置字串,例如:vector-embeddings

選用參數

執行範本

控制台

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

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

  5. 從「Dataflow template」(Dataflow 範本) 下拉式選單中選取 the Spanner to Vertex AI Vector Search files on Cloud Storage template。
  6. 在提供的參數欄位中輸入參數值。
  7. 按一下「Run Job」(執行工作)

gcloud

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

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

更改下列內容:

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

    您可以使用下列值:

  • REGION_NAME: 您要部署 Dataflow 工作的地區,例如 us-central1
  • SPANNER_PROJECT_ID:Spanner 專案 ID
  • SPANNER_INSTANCE_ID:Spanner 執行個體 ID
  • SPANNER_DATABASE_ID:Spanner 資料庫 ID
  • SPANNER_TABLE:Spanner 資料表
  • SPANNER_COLUMNS_TO_EXPORT:要從 Spanner 資料表匯出的資料欄
  • GCS_OUTPUT_FOLDER:輸出檔案的 Cloud Storage 資料夾
  • GCS_OUTPUT_FILE_PREFIX:Cloud Storage 中的輸出檔案前置字元

API

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

更改下列內容:

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

    您可以使用下列值:

  • LOCATION: 您要部署 Dataflow 工作的地區,例如 us-central1
  • SPANNER_PROJECT_ID:Spanner 專案 ID
  • SPANNER_INSTANCE_ID:Spanner 執行個體 ID
  • SPANNER_DATABASE_ID:Spanner 資料庫 ID
  • SPANNER_TABLE:Spanner 資料表
  • SPANNER_COLUMNS_TO_EXPORT:要從 Spanner 資料表匯出的資料欄
  • GCS_OUTPUT_FOLDER:輸出檔案的 Cloud Storage 資料夾
  • GCS_OUTPUT_FILE_PREFIX:Cloud Storage 中的輸出檔案前置字元

後續步驟