导入数据
Milvus 支持多种数据格式的导入,只要这些数据最终能转化为二维数组形式的向量。
该页面内容主要包含如何导入数据已经数据导入后的存储方案。
准备数据文件
上文已经提到,Milvus 支持多种类型的数据格式,但当需要从本地磁盘重复读取相同的数据时,建议使用NPY格式的文件,每个文件最好不超过100,000条向量。
相比 CSV 文档,NPY 格式文档的读取速度更快、数据存储占用空间更小。以 512 维单精度向量为例,10 万条向量的 NPY 文件大小 < 400 MB,而 CSV 文件大小 > 800 MB。
如果只有 CSV 文件,可以通过以下步骤生成相应的 NPY 二进制文件:
- 通过
pandas.read_csv
方法读入一个 CSV 文件,生成pandas.dataframe
数据类型。 - 通过
numpy.array
方法,将上述pandas.dataframe
转换成numpy.array
数据类型。 - 将
numpy.array
数据类型,通过numpy.save
方法存为一个 NPY 二进制文件。
导入数据
请按照以下步骤,通过 Milvus 提供的 Python 客户端导入数据。
导入 NPY 文件
- 通过
numpy.load
方法读入一个 NPY 文件,生成numpy.array
类型的数据。 - 通过
numpy.array.tolist
方法将numpy.array
数据转换成 2 维列表(形如,[[],[]…[]])。 - 向 Milvus 导入向量(二维列表)。导入成功后,将同时返回向量 ids 列表 。
导入 CSV 文件
- 通过
pandas.read_csv
方法读入一个 CSV 文件,生成pandas.dataframe
类型的数据。 - 通过
numpy.array
方法,将上述pandas.dataframe
转换成numpy.array
类型的数据。 - 通过
numpy.array.tolist
方法将numpy.array
数据导转换成 2 维列表(形如,[[],[]…[]])。 - 向 Milvus 导入向量(二维列表)。导入成功后,将同时返回向量 ids 列表 。