Tüm Ürünler
Search
Belge Merkezi

DataWorks:Milvus

Son Güncelleme:Oct 05, 2026

DataWorks, Milvus'u veri kaynağı olarak bağlamanıza olanak tanır. Bu sayede toplu senkronizasyon görevleri aracılığıyla Milvus vektör veritabanından veri okuyabilir ve bu veritabanına veri yazabilirsiniz.

Desteklenen Milvus sürümleri

  • Milvus 2.4.x

  • Milvus 2.5.x

Desteklenen alan türleri

Aşağıdaki tabloda Milvus yerel türleri ile Milvus Writer'ın kullandığı DataWorks dahili tür sınıflandırmaları arasındaki eşlemeler listelenmiştir.

Milvus veri türü DataWorks tür sınıflandırması
Int8 LONG
Int16 LONG
Int32 LONG
Int64 LONG
Float DOUBLE
Double DOUBLE
FloatVector DOUBLE
String STRING
VarChar STRING
SparseFloatVector STRING
JSON STRING
Array STRING
Bool BOOLEAN
BFloat16Vector BYTES
Float16Vector BYTES
BinaryVector BYTES

Ön koşullar

Başlamadan önce aşağıdaki gereksinimleri karşıladığınızdan emin olun:

  • Çalışan bir Milvus örneği ve uç nokta URL'si (örneğin http://xxxx.milvus.aliyuncs.com:19530)

  • Milvus kimlik doğrulama kimlik bilgileri (kullanıcı adı ve parola)

  • Veri kaynaklarını yönetme ve senkronizasyon görevleri oluşturma iznine sahip bir DataWorks çalışma alanı

Veri kaynağı ekleyin

Senkronizasyon görevi geliştirmeden önce DataWorks'e Milvus veri kaynağı ekleyin. Talimatlar için Veri kaynağı yönetimi konusuna bakın. Veri kaynağını eklerken parametre açıklamalarına doğrudan DataWorks konsolundan erişebilirsiniz.

Senkronizasyon görevi geliştirin

DataWorks, Milvus koleksiyonlarından veri okuyan veya bu koleksiyonlara veri yazan çevrimdışı senkronizasyon görevlerini destekler. Veri akışı şu şekildedir: Okuyucu kaynaktan kayıtları çeker, alan türü eşlemesi uygulanır ve yazıcı kayıtları hedef Milvus koleksiyonuna toplu olarak yazar.

Tek tablo için çevrimdışı senkronizasyon görevini yapılandırın

Aşağıdaki yaklaşımlardan birini kullanın:

Ek: Betik demosu ve parametreler

Aşağıdaki betikler ve parametre tabloları kod düzenleyici aracılığıyla yapılandırılan toplu senkronizasyon görevleri için geçerlidir. Genel betik biçimi için Görevi kod düzenleyicide yapılandırma konusuna bakın.

Okuyucu

Betik demosu

{
  "job": {
    "content": [
      {
        "reader": {
          "name": "milvusreader",
          "parameter": {
            "endpoint": "http://xxxx.milvus.aliyuncs.com:19530",
            "database": "default",
            "username": "root",
            "password": "xxxxxxx",
            "collection": "testColection",
            "column": [
              {
                "name": "id",
                "type": "Int64",
                "primaryKey": "true"
              },
              {
                "name": "int8col",
                "type": "Int8"
              },
              {
                "name": "int16col",
                "type": "Int16"
              }
            ]
          }
        },
        "writer": {
          "name": "Writer",
          "category": "writer",
          "stepType": "stream",
          "parameter": {}
        }
      }
    ],
    "setting": {
      "errorLimit": {
        "record": "0"
      },
      "speed": {
        "throttle": false,
        "concurrent": 1,
        "channel": 1
      }
    }
  }
}

Okuyucu parametreleri

Parametre Açıklama Zorunlu Varsayılan
collection Okunacak koleksiyon. Evet Yok
column Okunacak alanlar. Her biri name ve type içeren alan nesnelerinden oluşan bir dizi olarak yapılandırın. Birincil anahtar alanı için primaryKey değerini "true" olarak ayarlayın. Dinamik alanları okumak için aşağıdaki dinamik alan seçeneklerine bakın. Evet Yok
filter WHERE yan tümcesine eşdeğer bir filtre koşulu. Söz dizimi için Milvus boolean ifadesi belgelerine bakın. Hayır Yok
batchSize Toplu iş başına okunacak kayıt sayısı. Hayır 1024

column için dinamik alan seçenekleri

Tüm dinamik alanları tek bir JSON alanı olarak senkronize etmek için:

"column": [
  {
    "name": "dynamicName",
    "type": "json",
    "dynamicFileType": "allDynamicField"
  }
]

Tek bir dinamik alanı senkronize etmek için (burada {singleDynamicName} koleksiyondaki alan adıdır):

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

Yazıcı

Betik demosu

{
  "transform": false,
  "type": "job",
  "version": "2.0",
  "steps": [
    {
      "name": "Reader",
      "category": "reader",
      "stepType": "stream",
      "parameter": {}
    },
    {
      "name": "Writer",
      "category": "writer",
      "stepType": "milvus",
      "parameter": {
        "datasource": "zm_test",
        "collection": "test",
        "schemaCreateMode": "createIfNotExist",
        "enableDynamicSchema": true,
        "envType": 1,
        "column": [
          {
            "name": "floatv1",
            "type": "FloatVector",
            "dimension": "3"
          },
          {
            "name": "incol",
            "type": "Int16"
          }
        ],
        "writeMode": "insert",
        "batchSize": 1024
      }
    }
  ],
  "setting": {
    "errorLimit": {
      "record": "0"
    },
    "speed": {
      "concurrent": 2,
      "throttle": false
    }
  }
}

Yazıcı parametreleri

Parametre Açıklama Zorunlu Varsayılan
datasource DataWorks'te yapılandırıldığı şekilde veri kaynağının adı. Evet Yok
collection Milvus'taki hedef koleksiyon. Evet Yok
schemaCreateMode DataWorks'ün senkronizasyondan önce koleksiyonu nasıl işlediği. Ayrıntılar için Koleksiyon oluşturma modları bölümüne bakın. Evet createIfNotExist
column Hedef alanlar. Alan nesnelerinden oluşan bir dizi olarak yapılandırın. Her alan için name ve type gereklidir. Vektör alanları ayrıca dimension gerektirir (örneğin "dimension": "3"). Evet Yok
writeMode Yazma davranışı. Ayrıntılar için Yazma modları bölümüne bakın. Hayır upsert
partition Hedef bölüm. _default bölümüne yazmak için boş bırakın. Hayır _default
batchSize Toplu iş başına yazılacak kayıt sayısı. Hayır 1024
enableDynamicSchema DataWorks koleksiyonu oluştururken dinamik şemayı etkinleştirir. Hayır true

Yazma modları

Mod Davranış
upsert Otomatik artan birincil anahtarı olmayan koleksiyonlar için varlığı birincil anahtarına göre günceller. Otomatik artan birincil anahtarı olan koleksiyonlar için birincil anahtarı otomatik olarak oluşturulan bir değerle değiştirir ve veriyi ekler.
insert Mevcut birincil anahtarları kontrol etmeden veriyi ekler. Milvus'un birincil anahtarları otomatik olarak oluşturduğu, otomatik artan birincil anahtara sahip koleksiyonlar için kullanın. Otomatik artan birincil anahtarı olmayan bir koleksiyonda insert kullanılırsa yinelenen kayıtlar oluşabilir.

Koleksiyon oluşturma modları

schemaCreateMode parametresi hedef koleksiyon mevcut olmadığında DataWorks'ün ne yapacağını kontrol eder.

Mod Davranış
createIfNotExist Yapılandırılan column ve diğer parametrelere dayanarak koleksiyonu oluşturur ve ardından senkronizasyonu başlatır. Koleksiyon zaten mevcutsa olduğu gibi kullanır.
Ignore Koleksiyon mevcut değilse hata bildirir.
recreate Her senkronizasyon çalıştırmasından önce mevcut koleksiyonu siler ve yeni bir tane oluşturur.