すべてのプロダクト
Search
ドキュメントセンター

DataWorks:Milvus データソース

最終更新日:Nov 09, 2025

Milvus データソースは、Milvus ベクトルデータベースにデータを書き込むためのチャネルを提供します。このトピックでは、DataWorks が提供する Milvus データ同期のサポートについて説明します。

サポートされている Milvus のバージョン

  • Milvus: 2.4.x

  • Milvus: 2.5.x

サポートされているフィールドタイプ

次の表に、Milvus Writer のデータ型マッピングを示します。

型の分類

Milvus データ型

LONG

Int8, Int16, Int32, Int64

DOUBLE

Float, Double, FloatVector

STRING

String, VarChar, SparseFloatVector, JSON, Array

BOOLEAN

Bool

BYTES

BFloat16Vector, Float16Vector, BinaryVector

データソースの追加

DataWorks で同期タスクを開発する前に、「データソース管理」の指示に従って、必要なデータソースを DataWorks に追加する必要があります。データソースを追加する際に、DataWorks コンソールでパラメーターの infotip を表示して、パラメーターの意味を理解できます

データ同期タスクの開発

同期タスクを構成するためのエントリポイントと手順については、次の構成ガイドをご参照ください。

単一テーブルのオフライン同期タスクの構成

付録: スクリプトデモとパラメーター

コードエディタを使用したバッチ同期タスクの構成

コードエディタを使用してバッチ同期タスクを構成する場合、統一されたスクリプトフォーマットの要件に基づいて、スクリプト内の関連パラメーターを構成する必要があります。詳細については、「コードエディタでタスクを構成する」をご参照ください。以下の情報は、コードエディタを使用してバッチ同期タスクを構成する際に、データソースに対して構成する必要があるパラメーターについて説明しています。

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
      }
    }
  }
}

Reader スクリプトパラメーター

パラメーター

説明

必須

デフォルト値

collection

Milvus から読み取るコレクション (テーブル名) です。

はい

なし

batchSize

各バッチで読み取るレコード数です。

いいえ

1024

filter

データを読み取るためのフィルター条件です。これは WHERE 句に相当します。構成の詳細については、「https://milvus.io/docs/boolean.md」をご参照ください。

いいえ

なし

column

読み取るソース Milvus フィールドです。動的フィールド同期は 2 つの方法で構成できます:

  • すべての動的フィールドを 1 つの JSON フィールドとして同期します。

    "cloumn":[{
      "name":"dynamicName",
      "type":"json",
      "dynamicFileType":"allDynamicField"
    }]
  • 単一の動的フィールドを同期します。{singleDynamicName} はコレクション内の動的フィールドの名前です。

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

はい

なし

Writer スクリプトデモ

{
  "transform": false,
  "type": "job",
  "version": "2.0",
  "steps": [
    {
      "stepType":"stream",
      "parameter":{},
      "name":"Reader",
      "category":"reader"
    },
    {
      "stepType": "milvus",
      "parameter": {
        "schemaCreateMode": "createIfNotExist",     // コレクションを作成するモード。
        "enableDynamicSchema": true,            // コレクション作成時に動的フィールドを有効にするかどうかを指定します。
        "envType": 1,
        "datasource": "zm_test",
        "column": [  // 同期するフィールド。
          {
            "name": "floatv1",
            "type": "FloatVector",
            "dimension": "3"
          },
          {
            "name": "incol",
            "type": "Int16"
          }
        ],
        "writeMode": "insert",  // 書き込みモード。
        "collection": "test",  // 宛先コレクション。
        "batchSize": 1024      // 各バッチで書き込むレコード数。
      },
      "name": "Writer",
      "category": "writer"
    }
  ],
  "setting": {
    "errorLimit": {
      "record": "0"
    },
    "speed": {
      "concurrent": 2,
      "throttle": false
    }
  }
}

Writer スクリプトパラメーター

パラメーター

説明

必須

デフォルト値

datasource

データソースの名前です。コードエディタはデータソースの追加をサポートしています。このパラメーターの値は、追加されたデータソースの名前と同じでなければなりません。

はい

なし

collection

Milvus の宛先コレクションの名前です。

はい

なし

partition

Milvus の宛先コレクションのパーティションです。このパラメーターを空のままにすると、データは _default パーティションに書き込まれます。

いいえ

_default

column

Milvus の宛先フィールドです。このパラメーターを配列として構成します。単一フィールドの情報を JSON フォーマットで構成します。内容は次のとおりです:

  • name: フィールドの名前。

  • type: フィールドのデータ型。

  • フィールドのプロパティ、例えばベクトルフィールドのディメンション: "dimension":3

はい

なし

writeMode

Milvus は upsert と insert の 2 つの書き込みモードをサポートしています。

  • upsert: プライマリキーが自動増分しないコレクションの場合、このモードはプライマリキーに基づいてコレクション内のエンティティを更新します。プライマリキーが自動増分するコレクションの場合、Milvus はエンティティ内のプライマリキーを自動生成されたものに置き換え、データを挿入します。

  • insert: このモードは、プライマリキーが自動増分するコレクションにデータを挿入するためによく使用されます。Milvus はプライマリキーを自動的に生成します。プライマリキーが自動増分しないコレクションでこのモードを使用すると、データが重複する可能性があります。

いいえ

upsert

batchSize

各バッチで Milvus に書き込むレコード数です。

いいえ

1024

schemaCreateMode

同期の前に、DataWorks はコレクションをチェックし、構成されたモードに基づいて操作を実行します。次のモードがサポートされています:

  • createIfNotExist: コレクションが存在しない場合、DataWorks は構成された列やその他の情報に基づいてコレクションを作成し、同期を開始します。

  • Ignore: コレクションが存在しない場合、エラーが報告されます。

  • recreate: 各同期の前に、DataWorks は元のコレクションを削除し、構成された列やその他の情報に基づいて新しいコレクションを作成します。

はい

createIfNotExist

enableDynamicSchema

コレクションを作成する際に動的スキーマを有効にするかどうかを指定します。

いいえ

true