一、工具介绍
| 工具脚本 | 说明 |
| import_csv_into_vdb.py | 用于导入 CSV 类型的数据文件于向量数据库 |
| 参数 | 参数含义 | 说明 |
| url | 向量数据库实例的内网地址或外网地址。建议使用内网方式。 | 获取向量数据库实例内网 IP 地址与端口,请登录 向量数据库控制台,在实例详情页面网络信息区域直接复制访问地址。具体操作,请参见 查看实例信息。 |
| key | 向量数据库实例 API 密钥,用于进行身份认证。 | 请登录 向量数据库控制台,在密钥管理页面直接复制密钥。具体操作,请参见 密钥管理。 |
| db | 数据库名。 | – |
| collection | 数据库集合名。 | – |
| file | 预导入的 CSV 文件的路径。 | 可以指定为绝对地址,也可以为相应程序运行的相对地址。支持使用通配符,例如:–file="./test_*.csv"\\,将文件名包含 test_ 的CSV文件均导入数据库。 |
| field_mappings | CSV 文件中已指定了每一列的名称,需通过该参数指定 CSV 文件每一列名称与导入数据库字段的映射关系。 | CSV 列名称与数据库字段名不一致需配置映射关系,一致则无需配置。key = value,key 为 Json 字段,value 为向量数据库字段名,切勿写反。 |
| header | 若 CSV 文件未指定每一个列的名称,需配置该参数为 N 进行标识。 | 默认值为:Y。注意:若 CSV 文件未指定每一个列的名称,请务必设置该参数,否则写入数据失败。 |
| fields | 若 CSV 文件未指定每一个列的名称,需通过该参数指定 CSV 每一列的名称对应写入向量数据库集合的字段名。 | – |
| confirm_work | 标识是否通过 nohup 命令在后台运行数据导入任务。Y:默认值,可在终端会话确认参数配置是否正确。N:可以通过 nohup 的方式来在后台运行程序。 | 如果导入海量数据,建议先设置 confirm_work=Y 确认配置参数是否正确,提示please check the parameters and field mappings [yes no]:输入 no 退出,再设置 confirm_work=N 配合 nohup 后台运行程序。 |
| parallel | 用于控制客户端并发数。 | 默认值:30。 |
| batch_size | 用于控制单次写入操作的 batch 数量。 | 根据维度等因素动态计算。 |
二、示例
1. 准备如下工作。
a. 准备数据库实例。具体操作,请参见 购买实例。
b. 执行pip3 install tcvectordb,获取最新版本 Python SDK,并应用 Python SDK 连接数据库实例。具体信息,请参见 新建 Client。
c. 创建 Base 类数据库以及相应集合。具体操作,请参见 新建数据库 与 新建集合。
注意:说明:
2. 将数据导入工具的 Python 脚本上传于运行的操作环境,同时上传 CSV 文件。
注意:说明:
注意:向量字段在 CSV 文件中只能以字符串的形式存在,否则会被认为 CSV 的多个列。正确示例:"[0.11, 0.23,…]"。
3. 根据 CSV 文件业务数据与文件路径,在文本编辑器配置工具脚本参数,如下所示。
CSV 文件每一列已指定名称CSV 文件未指定列名称 python3 import_csv_into_vdb.py \\ –url="http://10.0.x.x:80"\\ –key="xB2iQyVVFy9AtEFswF4ohQPoxUYok0**********"\\ –db="db-test-0905" –collection="coll-vector-01"\\ –file="./test_*.csv"\\ –field_mappings="pk=id,title=tag"python3 import_csv_into_vdb.py\\ –url="http://10.0.x.x:80"\\ –key="xB2iQyVVFy9AtEFswF4ohQPoxUYok0**********"\\ –db="db-test-0905" –collection="coll-vector-01"\\ –file="./test_*.csv"\\ –fields="paragraphs,vector,spider_time,comment,share,source,sentence,like,quality_medium,title2,pub_time,collect,quality_poor,quality_good,id"\\ –header=N
4. 在操作环境运行脚本,显示如下所示,以 CSV 指定列名称为例。
·显示初始化参数:
·显示索引的字段,及其对应的索引方式。
·显示 CSV 文件列名称 confirm_work 库字段的映射关系。
5. 提示please check the parameters and field mappings [yes no]:,输入yes,启动数据导入任务。
注意:说明:
注意:当导入数据量大时,推荐先使用默认值(confirm_work=Y)运行,在终端会话确认索引参数、映射字段设置正确,提示please check the parameters and field mappings [yes no]:,输入 no,退出之后再指定 confirm_work=N,重新启动程序,在后台运行数据导入任务。
6. 等待写入任务完成,提示类似如下信息,说明执行成功。
2956 rows were successfully inserted into the VDB. avg batch latency: 933.55ms, batch size: 133 TPS: 591.131, dimensions: 768, parallel: 30