数据迁移:Milvus 至 HDF5

你可以使用 MilvusDM 将 Milvus 数据存储为 HDF5 文件。

  1. 下载 M2H.yaml:
  1. $ wget https://raw.githubusercontent.com/milvus-io/milvus-tools/main/yamls/M2H.yaml
  1. 配置参数:
  • source_milvus_path:Milvus 工作路径。
  • mysql_parameter:Milvus 的 MySQL 配置。如未使用 MySQL,将该参数设置为 ‘’。
  • source_collection:Milvus 中 collection 与 partition 名称。
  • data_dir:导出的 HDF5 文件保存目录。

示例:

  1. M2H:
  2. milvus_version: 2.x
  3. source_milvus_path: '/home/user/milvus'
  4. mysql_parameter:
  5. host: '127.0.0.1'
  6. user: 'root'
  7. port: 3306
  8. password: '123456'
  9. database: 'milvus'
  10. source_collection: # specify the 'partition_1' and 'partition_2' partitions of the 'test' collection.
  11. test:
  12. - 'partition_1'
  13. - 'partition_2'
  14. data_dir: '/home/user/data'
  1. 运行 MilvusDM:
    1. $ milvusdm --yaml M2H.yaml

示例代码

读取指定集合或分区的元数据,根据元数据读取本地 milvus/db 下的数据文件,返回特征向量和对应的 ID 并存为本地的 HDF5 文件:

  1. collection_parameter, version = milvus_meta.get_collection_info(collection_name)
  2. r_vectors, r_ids, r_rows = milvusdb.read_milvus_file(self.milvus_meta, collection_name, partition_tag)
  3. data_save.save_yaml(collection_name, partition_tag, collection_parameter, version, save_hdf5_name)