用户指南:数据导入从入门到精通
本小节为一个快速引导教程,旨在帮助您在 Zilliz Cloud 上快速开始包含数据准备、建立 Collection 到开始导入数据等子任务在内的全流程数据导入任务。通过本节,你将掌握:
-
如何定义 Schema 及创建导入任务的目标 Collection
-
如何使用 BulkWriter 准备源数据并将其写入远程对象存储桶
-
如果调用批量导入 API 将准备好的源数据导入目标 Collection
开始之前
为了保证整个数据导入流程的连续性,请在开始本教程前完成如下准备工作:
在 Zilliz Cloud 上创建集群
-
如果您还未创建任何集群,参考此处创建一个集群。
-
收集如下信息:集群 Endpoint、API 密钥、集群 ID 和 集群所在云地域。您可以在 Zilliz Cloud 控制台上找到这些信息。
安装依赖
- Python
- Java
在终端中运行以下命令安装 pymilvus 和 minio 或将它们升级到最新的版本。
python3 -m pip install --upgrade pymilvus minio
- 如您使用 Apache Maven 管理项目, 在项目的 pom.xml 文件中添加如下内容:
<dependency>
<groupId>io.milvus</groupId>
<artifactId>milvus-sdk-java</artifactId>
<version>2.3.5</version>
</dependency>
- 如您使用 Gradle/Grails 管理项目, 执行如下命令:
compile 'io.milvus:milvus-sdk-java:2.3.5'
配置远程对象存储桶
-
在您的阿里云或腾讯云控制台上创建一个对象存储桶。
-
记录下访问该对象存储桶的 Access Key、Secret Key 以及桶名称。您可以在阿里云控制台中找到这些信息。
为了更好地利用本教程中的示例代码,建议您使用收集到的信息设置如下变量:
- Python
- Java
# Zilliz Cloud 集群配置
CLUSTER_ENDPOINT=""
API_KEY=""
TOKEN=""
CLUSTER_ID="" # Zilliz Cloud 集群 ID,如 "in01-xxxxxxxxxxxxxxx"
CLOUD_REGION=""
CLOUD_API_ENDPOINT="controller.api.{0}.cloud.zilliz.com.cn".format(CLOUD_REGION)
COLLECTION_NAME=""
# 远程对象存储桶访问参数
YOUR_ACCESS_KEY=""
YOUR_SECRET_KEY=""
YOUR_BUCKET_NAME=""
// Configs for Zilliz Cloud cluster
String CLUSTER_ENDPOINT = "";
String TOKEN = "";
String API_KEY = "";
String CLUSTER_ID = ""; // Zilliz Cloud 集群 ID,如 "in01-xxxxxxxxxxxxxxx"
String CLOUD_REGION = "";
String CLOUD_API_ENDPOINT = String.format("controller.api.%s.cloud.zilliz.com.cn", CLOUD_REGION);
String COLLECTION_NAME = "";
// Configs for remote bucket
String ACCESS_KEY = "";
String SECRET_KEY = "";
String BUCKET_NAME = "";
下载示例数据
在终端中运行如下命令下载格式为 CSV 的示例数据集。
curl https://assets.zilliz.com/doc-assets/medium_articles_partial_a13e0f2a.csv \
--output medium_articles_partial.csv
上述命令会按如下方式打印下载进度。您也可以单击此处从浏览器下载此数据集。
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 5133k 100 5133k 0 0 430k 0 0:00:11 0:00:11 --:--:-- 599k0
下表详细描述了该数据集的结构及第一行数据各列的取值。
字段名称 | 字段类型 | 字段属性 | 样例取值 |
---|---|---|---|
id | INT64 | N/A | 0 |
title_vector | FLOAT_VECTOR | Dimension: 768 | [0.041732933, 0.013779674, -0.027564144, -0.01… |
title | VARCHAR | Max length: 512 | The Reported Mortality Rate of Coronavirus Is … |
link | VARCHAR | Max length: 512 | |
reading_time | INT64 | N/A | 13 |
publication | VARCHAR | Max length: 512 | The Startup |
claps | INT64 | N/A | 1100 |
responses | INT64 | N/A | 18 |
示例数据集包含了 5,000 篇在 medium.com 发布的文章。关于该数据集更多信息,可参考此 Kaggle 页面。