全部产品
Search
文档中心

DataWorks:Sumber data Milvus

更新时间:Nov 10, 2025

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

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:

  • Menyinkronkan semua bidang dinamis sebagai satu bidang JSON.

    "cloumn":[{
      "name":"dynamicName",
      "type":"json",
      "dynamicFileType":"allDynamicField"
    }]
  • Menyinkronkan satu bidang dinamis. {singleDynamicName} adalah nama bidang dinamis dalam koleksi.

    "cloumn":[{
      "name":"{singleDynamicName}", 
      "type":"int",
      "dynamicFileType":"singleDynamicField"
    }]

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:

  • name: Nama bidang.

  • type: Tipe data bidang.

  • Properti bidang, seperti dimensi bidang vektor: "dimension":3

Ya

Tidak ada

writeMode

Milvus mendukung dua mode penulisan: upsert dan insert.

  • upsert: Untuk koleksi yang tidak memiliki kunci primer otomatis, mode ini memperbarui entitas dalam koleksi berdasarkan kunci primernya. Untuk koleksi yang memiliki kunci primer otomatis, Milvus mengganti kunci primer dalam entitas dengan kunci yang dihasilkan secara otomatis dan memasukkan data.

  • insert: Mode ini sering digunakan untuk memasukkan data ke koleksi yang memiliki kunci primer otomatis. Milvus secara otomatis menghasilkan kunci primer. Jika Anda menggunakan mode ini untuk koleksi yang tidak memiliki kunci primer otomatis, data mungkin menjadi duplikat.

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:

  • createIfNotExist: Jika koleksi tidak ada, DataWorks membuat koleksi berdasarkan kolom yang dikonfigurasi dan informasi lainnya, lalu memulai sinkronisasi.

  • Ignore: Jika koleksi tidak ada, kesalahan dilaporkan.

  • recreate: Sebelum setiap sinkronisasi, DataWorks menghapus koleksi asli lalu membuat yang baru berdasarkan kolom yang dikonfigurasi dan informasi lainnya.

Ya

createIfNotExist

enableDynamicSchema

Menentukan apakah akan mengaktifkan skema dinamis saat membuat koleksi.

Tidak

true