通过DataWorks同步MaxCompute数据到Milvus

更新时间:2025-03-28 02:44:31

如果您需要将存储在MaxCompute中的大规模结构化数据导入Milvus,以支持高效的向量检索和相似性分析,可以通过DataWorks的数据集成服务实现无缝同步。本文介绍如何利用DataWorks,快速完成从MaxComputeMilvus的离线数据同步。

前提条件

操作流程

步骤一:数据准备

以下数据仅供测试使用,请您根据实际情况准备相应的数据。

  • MaxCompute创建表。

    本文使用的建表语句及数据如下所示。

    CREATE TABLE dl_1216.`default`.mc_table (
        id INT,
        namespace STRING,
        vector ARRAY<DOUBLE>
    );
    
    INSERT INTO dl_1216.`default`.mc_table VALUES(100, 'aaa', array(1554047123.0, 1554047123.0));
    INSERT INTO dl_1216.`default`.mc_table VALUES(200, 'bbb', array(1554047999.0, 1554047999.0));
    
    SELECT * FROM dl_1216.`default`.mc_table;
    
  • Milvus创建Collection。

    本文通过Attu页面创建Collection,您也可以通过Python SDK方式来创建,详情请参见创建Collection

    image

步骤二:新增数据源

  1. 进入数据集成页面。

    登录DataWorks控制台,切换至目标地域,单击左侧导航栏的数据集成 > 数据集成,在下拉框中选择对应工作空间后单击进入数据集成

  2. 在左侧导航栏单击数据源,然后单击新增数据源

  3. 新增MilvusMaxCompute数据源。

    DataWorks通过创建数据源的方式,接入数据来源和数据去向,因此,本步骤需要分别创建MilvusMaxCompute两个数据源。

    Milvus数据源
    MaxCompute数据源
    1. 新增数据源的搜索栏中,选择数据源类型为Milvus数据源。

    2. 新增Milvus数据源对话框中,配置以下基础信息,其余参数保持默认值即可。

      image

      参数

      说明

      数据源名称

      本示例为Milvus_Source。

      配置模式

      选择阿里云实例模式

      地域

      选择华东1(杭州)。

      实例

      选择已创建的Milvus实例。

      数据库名称

      配置为default

      用户名

      输入用户名root

      密码

      输入Milvus实例的密码。

    1. 新增数据源的搜索栏中搜索并单击MaxCompute

    2. 新增MaxCompute数据源对话框中,配置以下基础信息,其余参数保持默认值即可。

      image

      参数

      说明

      数据源名称

      本示例为MaxCompute_Source。

      地域

      选择华东1(杭州)。

      MaxCompute项目名称

      选择已在MaxCompute中创建的项目名。

      默认访问身份

      选择阿里云主账号

  4. 连接配置区域,找到工作空间已绑定的资源组,单击连通状态列的测试连通性

    • 如果测试资源组连通性状态为可连通,即完成新增数据源的创建。

    • 如果显示无法连通,表示资源组与数据源无法连通,后续相应数据源任务将无法正常执行,此时您需要根据右侧弹出的连通性诊断工具窗口,自助解决连通性问题,连通性诊断工具会提示目前连通失败的原因,请根据提示进行修改调整。

  5. 单击完成

步骤三:配置同步任务

  1. 在左侧导航栏中选择同步任务,对同步任务的来源去向进行设置,然后单击新建同步任务

    image

  2. 新建同步任务页面,同步类型选择为单表离线,然后单击确定,前往DataStudio页进行数据传输设置。

  3. 新建节点对话框中,节点类型选择离线同步路径名称可以根据实际情况设置,然后单击确认

    image

  4. 网络与资源配置阶段,分别对数据来源、资源组、数据去向的内容进行设置,然后单击下一步

    image

    涉及参数如下:

    • 数据来源:MaxCompute。对应的数据源名称,选择前一步骤中新增的MaxCompute数据源,例如,MaxCompute_Source。

    • 资源组:已在DataWorks中购买的DataWorks资源组。

    • 数据去向:Milvus。对应的数据源名称,选择前一步骤中新增的Milvus数据源,例如,Milvus_Source。

  5. 配置任务阶段,分别对数据来源与去向、字段映射、通道控制的内容进行设置,然后单击图标。

    更多配置信息,请参见通过向导模式配置离线同步任务

    1. 数据来源区域,选择待同步的表。

      image

    2. 数据去向区域,配置数据去向的各参数。

    3. 字段映射区域中,设置来源字段目标字段的映射关系。

      image

      字段映射中的来源字段和目标字段需要一致,并且同行相对应,详情请参见附录:类型映射。如果字段本身在表中没有(或不支持)默认值填充,则同步会出错。

    4. 通道控制区域,配置通道参数。

  6. 运行任务。

    1. 在节点区域的左上角,单击image图标。

    2. 在节点区域的左上角,单击image图标。

      image

      当运行日志中出现Shell run successfully时表明任务运行成功。

步骤四:查询测试

  1. 访问Attu页面

  2. 进入目标集合(本文示例为collection_name),在数据页签中查看同步的数据。

    image

附录:类型映射

MaxCompute字段类型

Milvus字段类型

MaxCompute字段类型

Milvus字段类型

ARRAY<FLOAT>

Float Vector

ARRAY<FLOAT>

BFloat16 Vector

ARRAY<FLOAT>

Float16 Vector

BINARY

Binary Vector

STRING

JSON

ARRAY<INT>

Array

INT

Int64

TINYINT

Int8

INT

Int16

INT

Int32

FLOAT

Float

DOUBLE

Double

STRING

VarChar

BOOLEAN

Boolean

  • 本页导读
  • 前提条件
  • 操作流程
  • 步骤一:数据准备
  • 步骤二:新增数据源
  • 步骤三:配置同步任务
  • 步骤四:查询测试
  • 附录:类型映射
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等