Template Bigtable ke Vertex AI Vector Search

Template untuk file Bigtable ke Vertex AI Vector Search di Cloud Storage membuat pipeline batch yang membaca data dari tabel Bigtable dan menulisnya ke bucket Cloud Storage dalam format JSON. Gunakan template ini untuk embedding vektor.

Persyaratan pipeline

  • Tabel Bigtable harus ada.
  • Bucket Cloud Storage output harus ada sebelum Anda menjalankan pipeline.

Parameter template

Parameter yang diperlukan

  • bigtableProjectId : ID untuk project Google Cloud yang berisi instance Bigtable yang datanya ingin Anda baca.
  • bigtableInstanceId : ID instance Bigtable yang berisi tabel.
  • bigtableTableId : ID tabel Bigtable yang akan dibaca.
  • outputDirectory : Jalur Cloud Storage tempat file JSON output disimpan. (Contoh: gs://bucket-anda/jalur-anda/).
  • idColumn : Nama kolom yang sepenuhnya memenuhi syarat tempat ID disimpan. Dalam format cf:col atau _key.
  • embeddingColumn : Nama kolom yang sepenuhnya memenuhi syarat tempat penyematan disimpan. Dalam format cf:col atau _key.

Parameter opsional

  • filenamePrefix : Awalan nama file JSON. Misalnya: "table1-". Jika tidak ada nilai yang diberikan, nilai defaultnya adalah "part".
  • crowdingTagColumn : Nama kolom yang sepenuhnya memenuhi syarat tempat tag kepadatan disimpan. Dalam format cf:col atau _key.
  • embeddingByteSize : Ukuran byte setiap entri dalam array penyematan. Untuk float, gunakan nilai 4. Untuk ganda, gunakan nilai 8. Default-nya adalah 4.
  • allowRestrictsMappings : Nama kolom yang sepenuhnya memenuhi syarat dan dipisahkan koma untuk kolom yang akan digunakan sebagai izin pembatasan, dengan aliasnya. Dalam format cf:col->alias.
  • denyRestrictsMappings : Nama kolom yang sepenuhnya memenuhi syarat dan dipisahkan koma untuk kolom yang akan digunakan sebagai batasan tolak, dengan aliasnya. Dalam format cf:col->alias.
  • intNumericRestrictsMappings : Nama kolom yang sepenuhnya memenuhi syarat dan dipisahkan koma dari kolom yang akan digunakan sebagai numeric_restricts bilangan bulat, dengan aliasnya. Dalam format cf:col->alias.
  • floatNumericRestrictsMappings : Nama kolom yang sepenuhnya memenuhi syarat dan dipisahkan koma dari kolom yang akan digunakan sebagai numeric_restricts float (4 byte), dengan aliasnya. Dalam format cf:col->alias.
  • doubleNumericRestrictsMappings : Nama kolom yang sepenuhnya memenuhi syarat dan dipisahkan koma dari kolom yang akan digunakan sebagai numeric_restricts ganda (8 byte), dengan aliasnya. Dalam format cf:col->alias.
  • bigtableAppProfileId : ID profil aplikasi Cloud Bigtable yang akan digunakan untuk ekspor. Default-nya adalah: default.

Menjalankan template

Konsol

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

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

  5. Dari menu drop-down Dataflow template, pilih the Cloud Bigtable to Vector Embeddings template.
  6. Di kolom parameter yang disediakan, masukkan nilai parameter Anda.
  7. Klik Run job.

gcloud CLI

Di shell atau terminal, jalankan template:

gcloud dataflow jobs run JOB_NAME \
    --gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/Cloud_Bigtable_to_Vector_Embeddings \
    --project=PROJECT_ID \
    --region=REGION_NAME \
    --parameters \
       bigtableProjectId=BIGTABLE_PROJECT_ID,\
       bigtableInstanceId=BIGTABLE_INSTANCE_ID,\
       bigtableTableId=BIGTABLE_TABLE_ID,\
       filenamePrefix=FILENAME_PREFIX,\
       idColumn=ID_COLUMN,\
       embeddingColumn=EMBEDDING_COLUMN,\

Ganti kode berikut:

  • JOB_NAME: nama tugas 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
  • BIGTABLE_PROJECT_ID: the project ID
  • BIGTABLE_INSTANCE_ID: ID instance
  • BIGTABLE_TABLE_ID: ID tabel
  • FILENAME_PREFIX: awalan file JSON
  • ID_COLUMN: kolom ID
  • EMBEDDING_COLUMN: kolom penyematan

API

Untuk menjalankan template menggunakan REST API, kirim permintaan POST HTTP. Untuk mengetahui 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_Bigtable_to_Vector_Embeddings
{
   "jobName": "JOB_NAME",
   "parameters": {
     "bigtableProjectId": "BIGTABLE_PROJECT_ID",
     "bigtableInstanceId": "BIGTABLE_INSTANCE_ID",
     "bigtableTableId": "BIGTABLE_TABLE_ID",
     "filenamePrefix": "FILENAME_PREFIX",
     "idColumn": "ID_COLUMN",
     "embeddingColumn": "EMBEDDING_COLUMN",
   },
   "environment": { "maxWorkers": "10" }
}

Ganti kode berikut:

  • PROJECT_ID: ID project Google Cloud tempat Anda ingin menjalankan tugas Dataflow
  • JOB_NAME: nama tugas 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
  • BIGTABLE_PROJECT_ID: the project ID
  • BIGTABLE_INSTANCE_ID: ID instance
  • BIGTABLE_TABLE_ID: ID tabel
  • FILENAME_PREFIX: awalan file JSON
  • ID_COLUMN: kolom ID
  • EMBEDDING_COLUMN: kolom penyematan

Langkah selanjutnya