Template ini membuat pipeline streaming untuk melakukan streaming kumpulan data perubahan data Bigtable dan menulisnya ke Vertex AI Vector Search menggunakan Dataflow Runner V2.
Persyaratan pipeline
- Instance sumber Bigtable harus ada.
- Tabel sumber Bigtable harus ada, dan tabel harus mengaktifkan aliran data perubahan.
- Profil aplikasi Bigtable harus ada.
- Jalur indeks Penelusuran Vektor harus ada.
Parameter template
Parameter | Deskripsi |
---|---|
embeddingColumn |
Nama kolom yang sepenuhnya memenuhi syarat tempat embeddings disimpan. Dalam format cf:col. |
embeddingByteSize |
Ukuran byte setiap entri dalam array embedding. Gunakan 4 untuk {i>float<i} dan 8 untuk {i>double<i}. Nilai defaultnya adalah 4 . |
vectorSearchIndex |
Indeks Vector Search tempat perubahan akan di-streaming, dalam format
'projects/{projectID}/locations/{region}/indexes/{indexID}' (tidak boleh ada spasi di bagian awal atau akhir). Contoh:
projects/123/locations/us-east1/indexes/456 . |
bigtableChangeStreamAppProfile |
Profil aplikasi yang digunakan untuk membedakan beban kerja di Bigtable. |
bigtableReadInstanceId |
ID instance Bigtable yang berisi tabel. |
bigtableReadTableId |
Tabel Bigtable untuk dibaca. |
bigtableMetadataTableTableId |
Opsional: ID untuk tabel metadata yang dibuat. Jika tidak disetel, Bigtable akan menghasilkan ID. |
crowdingTagColumn |
Opsional: Nama kolom yang sepenuhnya memenuhi syarat tempat tag kerumunan disimpan, dalam format cf:col . |
allowRestrictsMappings |
Opsional: Nama kolom yang sepenuhnya memenuhi syarat dan dipisahkan koma dari kolom yang akan digunakan sebagai pembatasan allow , plus
alias mereka. Setiap nama kolom harus menggunakan format cf:col->alias . |
denyRestrictsMappings |
Opsional: Nama kolom yang sepenuhnya memenuhi syarat dan dipisahkan koma dari kolom yang akan digunakan sebagai pembatasan deny , plus
alias mereka. Setiap nama kolom harus menggunakan format cf:col->alias . |
intNumericRestrictsMappings |
Opsional: Nama kolom yang sepenuhnya memenuhi syarat dan dipisahkan koma yang digunakan sebagai bilangan bulat
numeric_restricts , plus
alias mereka. Setiap nama kolom harus menggunakan format cf:col->alias . |
floatNumericRestrictsMappings |
Opsional: Nama kolom yang sepenuhnya memenuhi syarat dan dipisahkan koma untuk digunakan sebagai float (4 byte)
numeric_restricts , plus
alias mereka. Setiap nama kolom harus dalam format cf:col->alias |
doubleNumericRestrictsMappings |
Opsional: Nama kolom yang sepenuhnya memenuhi syarat dan dipisahkan koma untuk digunakan sebagai kolom ganda (8 byte)
numeric_restricts , plus
alias mereka. Setiap nama kolom harus dalam format cf:col->alias |
upsertMaxBatchSize |
Opsional: Jumlah maksimum pembaruan dan penyisipan yang akan di-buffer sebelum pembaruan dan penyisipan batch ke indeks Vector Search. Batch dikirim saat
ada upsertBatchSize catatan yang siap.
Contoh: 10 . |
upsertMaxBufferDuration |
Opsional: Penundaan maksimum sebelum sekumpulan pembaruan dan penyisipan dikirim ke Vector Search. {i>Batch<i} dikirim ketika ada
upsertBatchSize data siap. Format yang diizinkan adalah:
Ns untuk detik (contoh: 5 dtk), Nm untuk
menit (contoh: 12 mnt), dan Nh untuk jam (contoh:
2 jam). Default: 10s . |
deleteMaxBatchSize |
Opsional: Jumlah maksimum penghapusan yang akan di-buffer sebelum
menghapus batch dari indeks Vector Search.
{i>Batch<i} dikirim ketika ada
deleteBatchSize data siap.
Contoh: 10 . |
deleteMaxBufferDuration |
Opsional: Penundaan maksimum sebelum batch penghapusan dikirim
ke Penelusuran Vektor. {i>Batch<i} dikirim ketika ada
salah satu data deleteBatchSize siap. Format yang diizinkan
adalah: Ns untuk detik (contoh: 5 dtk), Nm untuk
menit (contoh: 12 mnt), dan Nh untuk jam (contoh:
2 jam). Default: 10s . |
dlqDirectory |
Opsional: Jalur untuk menyimpan data yang belum diproses dengan alasan kegagalan tersebut untuk diproses. Defaultnya adalah direktori yang berada di lokasi sementara tugas Dataflow. Nilai default sesuai untuk sebagian besar skenario. |
bigtableChangeStreamMetadataInstanceId |
Opsional: Instance Bigtable yang akan digunakan untuk tabel metadata konektor aliran perubahan. Nilai defaultnya adalah kosong. |
bigtableChangeStreamMetadataTableTableId |
Opsional: ID tabel metadata konektor perubahan stream Bigtable yang akan digunakan. Jika tidak diberikan, Tabel metadata konektor aliran perubahan Bigtable otomatis dibuat selama pipeline alur kerja. Nilai defaultnya adalah kosong. |
bigtableChangeStreamCharset |
Opsional: Bigtable mengubah aliran nama charset saat membaca nilai dan penentu kolom. Defaultnya adalah UTF-8. |
bigtableChangeStreamStartTimestamp |
Opsional: DateTime awal, inklusif, yang akan digunakan untuk membaca aliran data perubahan (https://tools.ietf.org/html/rfc3339). Misalnya, 2022-05-05T07:59:59Z. Setelan defaultnya adalah stempel waktu saat pipeline dimulai. |
bigtableChangeStreamIgnoreColumnFamilies |
Opsional: Daftar perubahan nama keluarga kolom yang dipisahkan koma yang tidak akan ditangkap. Nilai defaultnya adalah kosong. |
bigtableChangeStreamIgnoreColumns |
Opsional: Daftar perubahan nama kolom yang dipisahkan koma yang tidak akan ditangkap. Nilai defaultnya adalah kosong. |
bigtableChangeStreamName |
Opsional: Nama unik untuk pipeline klien. Parameter ini Ini berarti Anda melanjutkan pemrosesan dari titik di mana pipeline yang berjalan sebelumnya terhenti. Setelan defaultnya adalah nama yang dibuat secara otomatis. Lihat log tugas Dataflow untuk nilai yang digunakan. |
bigtableChangeStreamResume |
Opsional: Jika disetel ke benar (true), pipeline baru akan dilanjutkan
dari titik di mana operasi yang sebelumnya berjalan
pipeline dengan nama yang sama telah dihentikan. Jika sebuah pipeline dengan
belum pernah berjalan, {i>pipelines<i} yang baru akan gagal dimulai.
Gunakan parameter Jika disetel ke salah (false), pipeline baru akan dimulai. Jika suatu pipeline
dengan nama yang sama dengan Nilai defaultnya adalah false (salah). |
bigtableReadProjectId |
Opsional: Project yang akan dibaca data Bigtable. Default untuk parameter ini adalah project tempat Pipeline Dataflow sedang berjalan. |
Menjalankan template
Konsol
- Buka halaman Create job from template Dataflow. Buka Buat tugas dari template
- Di kolom Job name, masukkan nama tugas yang unik.
- Opsional: Untuk Regional endpoint, pilih nilai dari menu drop-down. Default
region adalah
us-central1
.Untuk mengetahui daftar region tempat Anda dapat menjalankan tugas Dataflow, lihat Lokasi Dataflow.
- Dari menu drop-down Dataflow template, pilih the Bigtable Change Streams to Vector Search template.
- Di kolom parameter yang disediakan, masukkan nilai parameter Anda.
- Klik Run job.
gcloud CLI
Di shell atau terminal Anda, jalankan template:
gcloud dataflow flex-template run JOB_NAME \ --template-file-gcs-location=gs://dataflow-templates-REGION_NAME/VERSION/flex/Bigtable_Change_Streams_to_Vector_Search \ --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,\
Ganti kode berikut:
JOB_NAME
: nama pekerjaan unik pilihan AndaVERSION
: versi {i>template<i} yang ingin Anda gunakan.Anda dapat menggunakan nilai berikut:
latest
untuk menggunakan template versi terbaru, yang tersedia di Folder induk non-dated di bucket— gs://dataflow-templates-REGION_NAME/latest/- nama versi, seperti
2023-09-12-00_RC00
, untuk menggunakan versi tertentu dari , yang dapat ditemukan disarangkan di masing-masing folder induk bertanggal dalam bucket— gs://dataflow-templates-REGION_NAME/
REGION_NAME
: wilayah tempat Anda ingin men-deploy tugas Dataflow Anda—misalnya,us-central1
EMBEDDING_COLUMN
: kolom PenyematanEMBEDDING_BYTE_SIZE
: Ukuran byte dari array embedding. Bisa 4 atau 8.VECTOR_SEARCH_INDEX
: Jalur indeks Penelusuran VektorBIGTABLE_CHANGE_STREAM_APP_PROFILE
: ID profil aplikasi BigtableBIGTABLE_READ_INSTANCE_ID
: ID Instance Bigtable sumberBIGTABLE_READ_TABLE_ID
: ID tabel Bigtable sumber
API
Untuk menjalankan template menggunakan REST API, kirim permintaan POST HTTP. Untuk informasi selengkapnya tentang
API dan cakupan otorisasinya, lihat
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/Bigtable_Change_Streams_to_Vector_Search", "environment": { "maxWorkers": "10" } } }
Ganti kode berikut:
PROJECT_ID
: ID project Google Cloud tempat Anda ingin menjalankan tugas DataflowJOB_NAME
: nama pekerjaan unik pilihan AndaVERSION
: versi {i>template<i} yang ingin Anda gunakan.Anda dapat menggunakan nilai berikut:
latest
untuk menggunakan template versi terbaru, yang tersedia di Folder induk non-dated di bucket— gs://dataflow-templates-REGION_NAME/latest/- nama versi, seperti
2023-09-12-00_RC00
, untuk menggunakan versi tertentu dari , yang dapat ditemukan disarangkan di masing-masing folder induk bertanggal dalam bucket— gs://dataflow-templates-REGION_NAME/
LOCATION
: wilayah tempat Anda ingin men-deploy tugas Dataflow Anda—misalnya,us-central1
EMBEDDING_COLUMN
: kolom PenyematanEMBEDDING_BYTE_SIZE
: Ukuran byte dari array embedding. Bisa 4 atau 8.VECTOR_SEARCH_INDEX
: Jalur indeks Penelusuran VektorBIGTABLE_CHANGE_STREAM_APP_PROFILE
: ID profil aplikasi BigtableBIGTABLE_READ_INSTANCE_ID
: ID Instance Bigtable sumberBIGTABLE_READ_TABLE_ID
: ID tabel Bigtable sumber