Template Spanner ke Vertex AI Vector Search

Template untuk Spanner ke file Vector Search Vertex AI di Cloud Storage membuat pipeline batch yang mengekspor data embedding vektor dari tabel Spanner ke Cloud Storage dalam format JSON. Gunakan parameter template untuk menentukan folder Cloud Storage yang akan dijadikan tujuan ekspor embedding vektor. Folder Cloud Storage berisi daftar file .json yang diekspor, yang mewakili embedding vektor dalam format yang didukung indeks Vector Search Vertex AI.

Untuk mengetahui informasi selengkapnya, lihat Format dan struktur data input.

Persyaratan pipeline

  • Database Spanner harus ada.
  • Bucket Cloud Storage untuk menghasilkan data harus ada.
  • Selain peran Identity and Access Management (IAM) yang diperlukan untuk menjalankan tugas Dataflow, Anda juga memerlukan peran IAM yang diperlukan untuk membaca data Spanner dan menulis ke bucket Cloud Storage.

Parameter template

Parameter Deskripsi
spannerProjectId Project ID instance Spanner.
spannerInstanceId ID instance Spanner yang akan digunakan untuk mengekspor embedding vektor.
spannerDatabaseId ID database Spanner untuk mengekspor embedding vektor.
spannerTable Tabel Spanner untuk dibaca.
spannerColumnsToExport Daftar kolom wajib yang dipisahkan koma untuk indeks Vertex AI Vector Search. Kolom id dan embedding diperlukan oleh Vector Search. Jika nama kolom Anda tidak cocok dengan struktur input indeks Vertex AI Vector Search, buat pemetaan kolom menggunakan alias. Jika nama kolom tidak cocok dengan format yang diharapkan oleh Vertex AI, gunakan notasi from:to. Misalnya, jika Anda memiliki kolom bernama id dan my_embedding, tentukan id, my_embedding:embedding.
gcsOutputFolder Folder Cloud Storage tempat file output akan ditulis. Jalur harus diakhiri dengan garis miring. Contoh: gs://your-bucket/folder1/.
gcsOutputFilePrefix Awalan nama file untuk menulis file output. Misalnya: vector-embeddings.
spannerHost Opsional: Endpoint Spanner yang akan dipanggil di template. Nilai defaultnya adalah https://batch-spanner.googleapis.com.
spannerVersionTime Opsional: Jika ditetapkan, menentukan waktu untuk mengambil versi database. Nilainya adalah string dalam format tanggal RFC-3339 dalam waktu Unix epoch. Misalnya: 1990-12-31T23:59:60Z. Stempel waktu harus berada di masa lampau, dan kesempatan stempel waktu maksimum berlaku. Jika tidak disetel, batas kuat akan digunakan untuk membaca data terbaru. Nilai defaultnya adalah kosong.
spannerDataBoostEnabled Opsional: Jika ditetapkan ke true, template akan menggunakan komputasi on-demand Spanner. Tugas ekspor berjalan pada resource komputasi independen yang tidak memengaruhi workload Spanner saat ini. Penggunaan opsi ini akan menimbulkan biaya tambahan di Spanner. Untuk informasi selengkapnya, lihat ringkasan Spanner Data Boost. Nilai defaultnya adalah false.
spannerPriority Opsional: Prioritas permintaan untuk panggilan Spanner. Nilai yang diizinkan adalah HIGH, MEDIUM, dan LOW. Nilai defaultnya adalah MEDIUM.

Menjalankan template

Konsol

  1. Buka halaman Create job from template Dataflow.
  2. Buka Buat tugas dari template
  3. Di kolom Job name, masukkan nama pekerjaan yang unik.
  4. Opsional: Untuk Endpoint regional, pilih nilai dari menu drop-down. Region default-nya adalah us-central1.

    Untuk daftar region tempat Anda dapat menjalankan tugas Dataflow, lihat Lokasi Dataflow.

  5. Dari menu drop-down Dataflow template, pilih the Spanner to Vertex AI Vector Search files on Cloud Storage template.
  6. Di kolom parameter yang disediakan, masukkan parameter value Anda.
  7. Klik Run job.

gcloud

Di shell atau terminal Anda, jalankan template:

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

Ganti kode berikut:

  • JOB_NAME: nama pekerjaan unik pilihan Anda
  • VERSION: versi template yang ingin Anda gunakan

    Anda dapat menggunakan nilai berikut:

  • REGION_NAME: region tempat Anda ingin men-deploy tugas Dataflow, misalnya us-central1
  • SPANNER_PROJECT_ID: project ID Spanner
  • SPANNER_INSTANCE_ID: ID instance Spanner
  • SPANNER_DATABASE_ID: ID database Spanner
  • SPANNER_TABLE: tabel Spanner
  • SPANNER_COLUMNS_TO_EXPORT: kolom yang akan diekspor dari tabel Spanner
  • GCS_OUTPUT_FOLDER: folder Cloud Storage untuk menghasilkan file
  • GCS_OUTPUT_FILE_PREFIX: awalan file output di Cloud Storage

API

Untuk menjalankan template menggunakan REST API, kirim permintaan HTTP POST. Untuk informasi selengkapnya tentang API dan cakupan otorisasinya, lihat 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" }
}

Ganti kode berikut:

  • PROJECT_ID: ID project Google Cloud tempat Anda ingin menjalankan tugas Dataflow
  • JOB_NAME: nama pekerjaan unik pilihan Anda
  • VERSION: versi template yang ingin Anda gunakan

    Anda dapat menggunakan nilai berikut:

  • LOCATION: region tempat Anda ingin men-deploy tugas Dataflow, misalnya us-central1
  • SPANNER_PROJECT_ID: project ID Spanner
  • SPANNER_INSTANCE_ID: ID instance Spanner
  • SPANNER_DATABASE_ID: ID database Spanner
  • SPANNER_TABLE: tabel Spanner
  • SPANNER_COLUMNS_TO_EXPORT: kolom yang akan diekspor dari tabel Spanner
  • GCS_OUTPUT_FOLDER: folder Cloud Storage untuk menghasilkan file
  • GCS_OUTPUT_FILE_PREFIX: awalan file output di Cloud Storage

Langkah selanjutnya