Template ini membuat pipeline streaming untuk melakukan streaming data perubahan 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 perubahan.
- Profil aplikasi Bigtable harus ada.
- Jalur indeks Vector Search harus ada.
Parameter template
Parameter | Deskripsi |
---|---|
embeddingColumn |
Nama kolom yang sepenuhnya memenuhi syarat tempat penyematan disimpan. Dalam format cf:col. |
embeddingByteSize |
Ukuran byte setiap entri dalam array penyematan. Gunakan 4 untuk float dan 8 untuk double. Nilai defaultnya adalah 4 . |
vectorSearchIndex |
Indeks Penelusuran Vektor tempat perubahan akan di-streaming, dalam format
'projects/{projectID}/locations/{region}/indexes/{indexID}' (tanpa spasi di awal atau di 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 yang akan dibaca. |
bigtableMetadataTableTableId |
Opsional: ID untuk tabel metadata yang dibuat. Jika tidak ditetapkan, Bigtable akan membuat ID. |
crowdingTagColumn |
Opsional: Nama kolom yang sepenuhnya memenuhi syarat tempat tag kepadatan disimpan, dalam format cf:col . |
allowRestrictsMappings |
Opsional: Nama kolom yang sepenuhnya memenuhi syarat dan dipisahkan koma dari kolom yang akan digunakan sebagai allow membatasi, ditambah
aliasnya. Setiap nama kolom harus dalam format cf:col->alias . |
denyRestrictsMappings |
Opsional: Nama kolom yang sepenuhnya memenuhi syarat dan dipisahkan koma dari kolom yang akan digunakan sebagai deny membatasi, ditambah
aliasnya. Setiap nama kolom harus dalam format cf:col->alias . |
intNumericRestrictsMappings |
Opsional: Nama kolom yang sepenuhnya memenuhi syarat dan dipisahkan koma dari kolom yang akan digunakan sebagai bilangan bulat
numeric_restricts , ditambah
aliasnya. Setiap nama kolom harus dalam format cf:col->alias . |
floatNumericRestrictsMappings |
Opsional: Nama kolom yang sepenuhnya memenuhi syarat dan dipisahkan koma dari kolom yang akan digunakan sebagai float (4 byte)
numeric_restricts , ditambah
aliasnya. Setiap nama kolom harus dalam format cf:col->alias |
doubleNumericRestrictsMappings |
Opsional: Nama kolom yang sepenuhnya memenuhi syarat dan dipisahkan koma dari kolom yang akan digunakan sebagai numeric_restricts ganda (8 byte), ditambah aliasnya. Setiap nama kolom harus dalam format cf:col->alias |
upsertMaxBatchSize |
Opsional: Jumlah maksimum pembaruan dan penyisipan untuk di-buffer sebelum memperbarui dan menyisipkan batch ke indeks Penelusuran Vektor. Batch dikirim saat
ada upsertBatchSize data yang siap.
Contoh: 10 . |
upsertMaxBufferDuration |
Opsional: Penundaan maksimum sebelum batch pembaruan dan penyisipan dikirim ke Vector Search. Batch dikirim saat ada
upsertBatchSize data yang siap. Format yang diizinkan adalah:
Ns untuk detik (contoh: 5d), Nm untuk
menit (contoh: 12m), dan Nh untuk jam (contoh:
2h). Default: 10s . |
deleteMaxBatchSize |
Opsional: Jumlah maksimum penghapusan yang akan di-buffer sebelum menghapus batch dari indeks Penelusuran Vektor.
Batch dikirim saat ada
deleteBatchSize data yang siap.
Contoh: 10 . |
deleteMaxBufferDuration |
Opsional: Penundaan maksimum sebelum batch penghapusan dikirim
ke Vector Search. Batch dikirim saat ada
data deleteBatchSize yang siap. Format yang diizinkan
adalah: Ns untuk detik (contoh: 5d), Nm untuk
menit (contoh: 12m), dan Nh untuk jam (contoh:
2h). Default: 10s . |
dlqDirectory |
Opsional: Jalur untuk menyimpan data yang belum diproses dengan alasan kegagalan pemrosesannya. Default adalah direktori di bawah lokasi sementara tugas Dataflow. Nilai default sesuai untuk sebagian besar skenario. |
bigtableChangeStreamMetadataInstanceId |
Opsional: Instance Bigtable yang akan digunakan untuk tabel metadata konektor aliran data perubahan. Default-nya adalah kosong. |
bigtableChangeStreamMetadataTableTableId |
Opsional: ID tabel metadata konektor aliran perubahan Bigtable yang akan digunakan. Jika tidak diberikan, tabel metadata konektor aliran perubahan Bigtable akan otomatis dibuat selama alur pipeline. Default-nya adalah kosong. |
bigtableChangeStreamCharset |
Opsional: Bigtable mengubah nama set karakter aliran saat membaca nilai dan penentu kolom. Setelan defaultnya adalah UTF-8. |
bigtableChangeStreamStartTimestamp |
Opsional: DateTime awal, inklusif, yang akan digunakan untuk membaca aliran perubahan (https://tools.ietf.org/html/rfc3339). Misalnya, 2022-05-05T07:59:59Z. Default-nya adalah stempel waktu saat pipeline dimulai. |
bigtableChangeStreamIgnoreColumnFamilies |
Opsional: Daftar nama keluarga kolom yang dipisahkan koma yang akan diubah dan tidak akan dicatat. Default-nya adalah kosong. |
bigtableChangeStreamIgnoreColumns |
Opsional: Daftar nama kolom yang dipisahkan koma yang akan diubah dan tidak akan dicatat. Default-nya adalah kosong. |
bigtableChangeStreamName |
Opsional: Nama unik untuk pipeline klien. Parameter ini memungkinkan Anda melanjutkan pemrosesan dari titik saat pipeline yang sebelumnya berjalan dihentikan. Secara default, nama yang dibuat secara otomatis. Lihat log tugas Dataflow untuk mengetahui nilai yang digunakan. |
bigtableChangeStreamResume |
Opsional: Jika ditetapkan ke benar, pipeline baru akan melanjutkan pemrosesan dari titik saat pipeline yang sebelumnya berjalan dengan nama yang sama dihentikan. Jika pipeline dengan nama tersebut
tidak pernah berjalan sebelumnya, pipeline baru akan gagal dimulai.
Gunakan parameter Jika disetel ke salah (false), pipeline baru akan dimulai. Jika pipeline
dengan nama yang sama seperti Nilai defaultnya adalah salah (false). |
bigtableReadProjectId |
Opsional: Project tempat membaca data Bigtable. Default untuk parameter ini adalah project tempat pipeline Dataflow berjalan. |
Menjalankan template
Konsol
- Buka halaman Create job from template Dataflow. Buka Buat tugas dari template
- Di kolom Nama tugas, masukkan nama tugas yang unik.
- 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.
- 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, 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 tugas unik pilihan AndaVERSION
: versi template yang ingin Anda gunakanAnda dapat menggunakan nilai berikut:
latest
untuk menggunakan template versi terbaru, yang tersedia di folder induk tanpa tanggal di bucket—gs://dataflow-templates-REGION_NAME/latest/- nama versi, seperti
2023-09-12-00_RC00
, untuk menggunakan versi template tertentu, yang dapat ditemukan bertingkat dalam folder induk bertanggal masing-masing di bucket—gs://dataflow-templates-REGION_NAME/
REGION_NAME
: region tempat Anda ingin men-deploy tugas Dataflow—misalnya,us-central1
EMBEDDING_COLUMN
: kolom EmbeddingEMBEDDING_BYTE_SIZE
: Ukuran byte array penyematan. Dapat berupa 4 atau 8.VECTOR_SEARCH_INDEX
: Jalur indeks Vector SearchBIGTABLE_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 mengetahui 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 tugas unik pilihan AndaVERSION
: versi template yang ingin Anda gunakanAnda dapat menggunakan nilai berikut:
latest
untuk menggunakan template versi terbaru, yang tersedia di folder induk tanpa tanggal di bucket—gs://dataflow-templates-REGION_NAME/latest/- nama versi, seperti
2023-09-12-00_RC00
, untuk menggunakan versi template tertentu, yang dapat ditemukan bertingkat dalam folder induk bertanggal masing-masing di bucket—gs://dataflow-templates-REGION_NAME/
LOCATION
: region tempat Anda ingin men-deploy tugas Dataflow—misalnya,us-central1
EMBEDDING_COLUMN
: kolom EmbeddingEMBEDDING_BYTE_SIZE
: Ukuran byte array penyematan. Dapat berupa 4 atau 8.VECTOR_SEARCH_INDEX
: Jalur indeks Vector SearchBIGTABLE_CHANGE_STREAM_APP_PROFILE
: ID profil aplikasi BigtableBIGTABLE_READ_INSTANCE_ID
: ID Instance Bigtable sumberBIGTABLE_READ_TABLE_ID
: ID tabel Bigtable sumber