Sumber data Milvus menyediakan saluran untuk menulis data ke database vektor Milvus. Topik ini menjelaskan dukungan yang diberikan DataWorks untuk sinkronisasi data Milvus.
Versi Milvus yang didukung
Milvus: 2.4.x
Milvus: 2.5.x
Tipe bidang yang didukung
Tabel berikut mencantumkan pemetaan tipe data untuk Milvus Writer.
Klasifikasi tipe | Tipe data Milvus |
LONG | Int8, Int16, Int32, Int64 |
DOUBLE | Float, Double, FloatVector |
STRING | String, VarChar, SparseFloatVector, JSON, Array |
BOOLEAN | Bool |
BYTES | BFloat16Vector, Float16Vector, BinaryVector |
Tambahkan sumber data
Sebelum mengembangkan tugas sinkronisasi di DataWorks, Anda harus menambahkan sumber data yang diperlukan ke DataWorks dengan mengikuti petunjuk dalam Manajemen sumber data. Anda dapat melihat infotips parameter di Konsol DataWorks untuk memahami arti parameter saat menambahkan sumber data.
Kembangkan tugas sinkronisasi data
Untuk informasi mengenai titik masuk dan prosedur konfigurasi tugas sinkronisasi, lihat panduan konfigurasi berikut.
Konfigurasikan tugas sinkronisasi offline untuk satu tabel
Untuk petunjuknya, lihat Konfigurasi UI tanpa kode atau Konfigurasi editor kode.
Untuk semua parameter dan contoh skrip editor kode, lihat bagian Lampiran: Contoh skrip dan parameter.
Lampiran: Contoh skrip dan parameter
Konfigurasikan tugas sinkronisasi batch menggunakan editor kode
Jika ingin mengonfigurasi tugas sinkronisasi batch menggunakan editor kode, Anda harus mengatur parameter terkait dalam skrip sesuai dengan persyaratan format skrip terpadu. Untuk informasi selengkapnya, lihat Konfigurasikan tugas di editor kode. Informasi berikut menjelaskan parameter yang perlu dikonfigurasi untuk sumber data saat mengatur tugas sinkronisasi batch menggunakan editor kode.
Contoh skrip Reader
{
"job": {
"content": [
{
"reader": {
"parameter": {
"endpoint": "http://xxxx.milvus.aliyuncs.com:19530",
"collection": "testColection",
"database": "default",
"password": "xxxxxxx",
"username": "root",
"column": [
{
"name": "id",
"type": "Int64",
"primaryKey": "true"
},
{
"name": "int8col",
"type": "Int8"
},
{
"name": "int16col",
"type": "Int16"
}
]
},
"name": "milvusreader"
},
"writer": {
"stepType": "stream",
"parameter": {
},
"name": "Writer",
"category": "writer"
}
}
],
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"throttle": false,
"concurrent": 1,
"channel": 1
}
}
}
}Parameter skrip Reader
Parameter | Deskripsi | Wajib | Nilai default |
collection | Koleksi (nama tabel) yang akan dibaca dari Milvus. | Ya | Tidak ada |
batchSize | Jumlah catatan yang dibaca dalam setiap batch. | Tidak | 1024 |
filter | Kondisi filter untuk membaca data. Ini setara dengan klausa WHERE. Untuk detail konfigurasi, lihat https://milvus.io/docs/boolean.md. | Tidak | Tidak ada |
column | Bidang Milvus sumber yang akan dibaca. Anda dapat mengonfigurasi sinkronisasi bidang dinamis dengan dua cara:
| Ya | Tidak ada |
Contoh skrip Writer
{
"transform": false,
"type": "job",
"version": "2.0",
"steps": [
{
"stepType":"stream",
"parameter":{},
"name":"Reader",
"category":"reader"
},
{
"stepType": "milvus",
"parameter": {
"schemaCreateMode": "createIfNotExist", // Mode untuk membuat koleksi.
"enableDynamicSchema": true, // Menentukan apakah akan mengaktifkan bidang dinamis saat membuat koleksi.
"envType": 1,
"datasource": "zm_test",
"column": [ // Bidang yang akan disinkronkan.
{
"name": "floatv1",
"type": "FloatVector",
"dimension": "3"
},
{
"name": "incol",
"type": "Int16"
}
],
"writeMode": "insert", // Mode penulisan.
"collection": "test", // Koleksi tujuan.
"batchSize": 1024 // Jumlah catatan yang ditulis dalam setiap batch.
},
"name": "Writer",
"category": "writer"
}
],
"setting": {
"errorLimit": {
"record": "0"
},
"speed": {
"concurrent": 2,
"throttle": false
}
}
}Parameter skrip Writer
Parameter | Deskripsi | Wajib | Nilai default |
datasource | Nama sumber data. Editor kode mendukung penambahan sumber data. Nilai parameter ini harus sama dengan nama sumber data yang ditambahkan. | Ya | Tidak ada |
collection | Nama koleksi tujuan di Milvus. | Ya | Tidak ada |
partition | Partisi koleksi tujuan di Milvus. Jika Anda mengosongkan parameter ini, data akan ditulis ke partisi _default. | Tidak | _default |
column | Bidang tujuan di Milvus. Konfigurasikan parameter ini sebagai array. Konfigurasikan informasi untuk satu bidang dalam format JSON. Isinya meliputi:
| Ya | Tidak ada |
writeMode | Milvus mendukung dua mode penulisan: upsert dan insert.
| Tidak | upsert |
batchSize | Jumlah catatan yang ditulis ke Milvus dalam setiap batch. | Tidak | 1024 |
schemaCreateMode | Sebelum sinkronisasi, DataWorks memeriksa koleksi dan melakukan operasi berdasarkan mode yang dikonfigurasi. Mode berikut didukung:
| Ya | createIfNotExist |
enableDynamicSchema | Menentukan apakah akan mengaktifkan skema dinamis saat membuat koleksi. | Tidak | true |