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 menuliskannya 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 ingin Anda baca datanya.
  • 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://your-bucket/your-path/.
  • idColumn: Nama kolom yang sepenuhnya memenuhi syarat tempat ID disimpan. Dalam format cf:col atau _key.
  • embeddingColumn: Nama kolom yang sepenuhnya memenuhi syarat tempat embedding disimpan. Dalam format cf:col atau _key.

Parameter opsional

  • filenamePrefix: Awalan nama file JSON. Contoh: table1-. Jika tidak ada nilai yang diberikan, nilai defaultnya adalah part.
  • crowdingTagColumn: Nama kolom yang sepenuhnya memenuhi syarat tempat tag keramaian disimpan. Dalam format cf:col atau _key.
  • embeddingByteSize: Ukuran byte setiap entri dalam array embedding. Untuk float, gunakan nilai 4. Untuk ganda, gunakan nilai 8. Setelan defaultnya adalah 4.
  • allowRestrictsMappings: Nama kolom yang sepenuhnya memenuhi syarat dan dipisahkan koma untuk kolom yang akan digunakan sebagai pembatasan izin, dengan aliasnya. Dalam format cf:col->alias.
  • denyRestrictsMappings: Nama kolom yang sepenuhnya memenuhi syarat dan dipisahkan koma untuk kolom yang akan digunakan sebagai pembatasan penolakan, 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), beserta 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. Nilai defaultnya adalah: default.

Menjalankan template

Konsol

  1. Buka halaman Dataflow Create job from template.
  2. Buka Membuat 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 default-nya adalah us-central1.

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

  5. Dari menu drop-down Template Dataflow, 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 Anda, 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 embedding

API

Untuk menjalankan template menggunakan REST API, kirim permintaan HTTP POST. 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 Google Cloud project 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 embedding

Langkah berikutnya