将Elasticsearch作为DTS目的端

数据传输服务 DTS

  • 任务管理
    • 任务限速
    • 修改迁移任务的当前位点
    • 查看任务进度
    • 创建类似任务
    • 一键反向
    • 管理任务对象
      • 同步Online DDL
      • 迁移数据库账号
      • 修改同步对象
      • 传输对象范围
      • 设置过滤条件
      • 库表列名映射
    • 生命周期
      • 结束任务
      • 删除任务
      • 暂停任务
      • 变更任务链路规格
      • 启动任务
  • API3.0
    • 调用说明
    • API概览
    • 目录
    • 数据传输任务
      • 结束任务
      • 更新任务名称
      • 暂停任务
      • 查询前置检查结果
      • 释放任务
      • 修改同步对象
      • 修改同步对象记录
      • 创建任务
      • 前置检查
      • 强制跳过预检查
      • 查询任务列表
      • 变更链路规格
      • 配置任务
      • 查询任务信息
      • 启动任务
      • demo
        • 专线迁移Redis Cluster迁移到云数据库Redis企业集群版-一键反向
        • 专线迁移MongoDB副本集迁移到云数据库MongoDB副本集
        • 专线迁移Redis Cluster迁移到云数据库Redis标准版
        • 专线迁移Redis Cluster迁移到云数据库Redis标准版-数据校验
        • 专线迁移Redis Cluster迁移到云数据库Redis企业集群版-数据校验
        • 公网sql迁移到公网kafka
        • 专线迁移Redis标准版迁移到云数据库Redis标准版-一键反向
        • 专线迁移的MongoDB分片集迁移到云数据库MongoDB分片集-数据校验
        • 专线迁移MongoDB副本集迁移到云数据库MongoDB副本集-一键反向
        • 专线迁移MySQL迁移到云数据库RDS-一键反向
        • 专线迁移的Redis标准版迁移到云数据库Redis标准版-数据校验
        • 专线迁移MySQL迁移到云数据库RDS-数据校验
        • 专线迁移MongoDB分片集迁移到云数据库MongoDB分片集
        • 专线迁移MongoDB副本集迁移到云数据库MongoDB副本集-数据校验
        • 专线迁移MySQL迁移到云数据库RDS
        • 专线迁移Redis Cluster迁移到云数据库Redis企业集群版
        • 专线迁移Redis标准版迁移到云数据库Redis标准版
      • 其他
        • 一键反向查询前置检查结果
        • 展示授权白名单
        • 一键反向延迟检查
        • 获取订单状态
        • 配置一键反向
        • 查询vpc列表
        • 查询MySQL实例拥有的账号列表
        • 绑定&解除标签
        • 查询可用区列表
        • 检查数据库连通性
        • 一键反向
      • 数据校验
        • 查询数据校验任务列表
        • 数据校验任务启动
        • 创建数据校验任务
        • 配置数据校验任务
        • 停止校验
        • 查看数据校验比对结果
        • 数据校验前置检查
        • 查看数据校验任务信息
  • 监控报警
    • 查看任务监控
    • 设置报警策略
  • 产品计费
    • 计费概述
    • 到期或欠费说明
    • 计费方式
    • 变更和退订说明
  • 数据校验
    • 配置数据校验
    • 查看数据校验
    • 数据校验概述
  • Java_SDK
    • SDK下载页
    • 安装-DTS-Java-SDK
    • 使用数据订阅SDK
    • SDK接口简介
    • SDK下载
    • 概述
  • 快速入门
    • 购买流程
    • 数据迁移操作指导
    • 配置迁移任务
  • 典型实践
    • 使用NimoShake将Amazon DynamoDB迁移至百度云DocDB
    • 不同库名间的数据同步
    • 获取主账号ID
    • 使用DTS实现目标端为Elasticsearch的数据迁移
    • 使用DTS实现MySQL数据拆分
    • 数据库迁移上云
    • 业务切换流程
    • DTS支持专线迁移
    • DTS支持专线迁移(新)
    • 修改RDS MySQL参数提升迁移性能
    • MySQL实例的双向同步
  • 准备工作
    • 自建MySQL创建账号并设置binlog
    • 迁移评估
      • 源端MySQL迁移评估
    • 网络准备
      • 网络准备概述
      • VPC接入
      • 添加DTS服务IP白名单
      • 本地IDC接入百度智能云
        • VPN接入
        • 专线接入
        • 公网接入
    • 访问控制
      • 子用户权限管理
  • 产品简介
    • 支持的数据流
    • 功能概览
    • 基本概念
    • 产品优势
    • 架构原理
    • 应用场景
    • 什么是数据库传输服务DTS
    • 链路规格说明
  • 数据迁移
    • 跨账号迁移云数据库实例
    • 迁移方案概览
    • TiDB为源的迁移
      • 自建TiDB迁移至GaiaDB
    • Oracle为源的迁移
      • 自建Oracle迁移至RDS MySQL
    • GaiaDB为源的迁移
      • GaiaDB实例间的迁移
    • MySQL为源的迁移
      • 腾讯云MySQL迁移至RDS MySQL
      • RDS MySQL迁移至GaiaDB
      • 自建MySQL迁移至GaiaDB
      • 自建MySQL迁移至RDS MySQL
      • 阿里云PolarDB迁移至GaiaDB
      • RDS MySQL实例间的迁移
      • 阿里云MySQL迁移至RDS MySQL
      • MySQL迁移至Kafka
    • 异构数据库间的数据类型映射关系
      • 百度智能云DTS数据类型
      • DTS支持的数据源端
        • 将Kafka作为源端
        • 将Redis标准版作为源端
        • 将GaiaDB作为源端
        • 将Oracle作为源端
        • 将SQL Server作为源端
        • 将云上百度DRDS作为源端
        • 将MongoDB分片集作为源端
        • 将PostgreSQL作为源端
        • 将MongoDB副本集作为源端
        • 将MySQL作为源端
      • DTS支持的数据目的端
        • 将SQL Server作为目标端
        • 将Elasticsearch作为DTS目的端
        • 将GaiaDB作为目标端
        • 将Palo作为目标端
        • 将DataHub作为目标端
        • 将PostgreSQL作为目标端
        • 将MySQL作为目标端
        • 将Kafka作为DTS目标端
    • SQL Server 为源的迁移
      • 自建SQL Server迁移至RDS SQL Server
    • MongoDB为源的迁移
      • 自建MongoDB分片集迁移至DocDB MongoDB
      • DocDB MongoDB副本集迁移至DocDB MongoDB
    • Kafka为源的迁移
      • 自建Kafka迁移至消息服务 for Kafka
    • PostgreSQL为源的迁移
      • RDS PostgreSQL实例间的迁移
      • 自建PostgreSQL迁移至RDS PostgreSQL
      • AWS PostgreSQL迁移至RDS PostgreSQL
    • Redis为源的迁移
      • 使用DTS实现自建Redis标准版到百度智能云SCS for Redis标准版的数据迁移
      • 云数据库Redis实例间的迁移
      • 自建Redis迁移至云数据库Redis(含PegaDB)
    • Milvus为源的迁移
      • 自建 Milvus 迁移至向量数据库 VectorDB
  • 产品动态
    • 功能发布记录
    • 公告
      • 数据传输服务DTS支持多规格数据传输任务
      • 数据传输服务DTS任务状态升级通知
  • 预检查项
    • TiDB检查项
    • PostgreSQL检查项
    • MySQL检查项
    • Palo检查项
    • Oracle检查项
    • GaiaDB-X检查项
    • RocketMQ检查项
    • MongoDB检查项
    • Redis检查项
    • Elasticsearch检查项
    • GaiaDB检查项
    • Kafka检查项
    • 预检查不通过处理方法
      • 源库、目标库的连接数是否满足要求检查
      • 迁移表依赖的外键父表是否迁移检查
      • 目的数据库是否只读检查
      • 目的数据库的账号权限是否满足迁移要求检查
      • 目的库中表是否为空检查
      • 源库和目标库中SQL_MODE是否合法检查
      • 数据传输服务器是否能连通目的数据库检查
      • 源数据库的版本号检查
      • 源数据库的账号权限是否满足迁移要求检查
      • 迁移表是否有不支持的存储引擎检查
      • 预检查项汇总
      • 迁移表的表结构在目的库是否存在检查
      • 目的数据库待迁入的数据库是否可用检查
      • 目的库是否存在跟待迁移对象同名的结构对象检查
      • 数据传输服务器是否能连通源数据库检查
  • 服务支持
    • 相关协议
      • DTS服务等级协议SLA
    • 常见问题
      • 使用类问题
      • 数据迁移问题
      • 常见问题总览
      • 数据同步问题
所有文档
menu
没有找到结果,请重新输入

数据传输服务 DTS

  • 任务管理
    • 任务限速
    • 修改迁移任务的当前位点
    • 查看任务进度
    • 创建类似任务
    • 一键反向
    • 管理任务对象
      • 同步Online DDL
      • 迁移数据库账号
      • 修改同步对象
      • 传输对象范围
      • 设置过滤条件
      • 库表列名映射
    • 生命周期
      • 结束任务
      • 删除任务
      • 暂停任务
      • 变更任务链路规格
      • 启动任务
  • API3.0
    • 调用说明
    • API概览
    • 目录
    • 数据传输任务
      • 结束任务
      • 更新任务名称
      • 暂停任务
      • 查询前置检查结果
      • 释放任务
      • 修改同步对象
      • 修改同步对象记录
      • 创建任务
      • 前置检查
      • 强制跳过预检查
      • 查询任务列表
      • 变更链路规格
      • 配置任务
      • 查询任务信息
      • 启动任务
      • demo
        • 专线迁移Redis Cluster迁移到云数据库Redis企业集群版-一键反向
        • 专线迁移MongoDB副本集迁移到云数据库MongoDB副本集
        • 专线迁移Redis Cluster迁移到云数据库Redis标准版
        • 专线迁移Redis Cluster迁移到云数据库Redis标准版-数据校验
        • 专线迁移Redis Cluster迁移到云数据库Redis企业集群版-数据校验
        • 公网sql迁移到公网kafka
        • 专线迁移Redis标准版迁移到云数据库Redis标准版-一键反向
        • 专线迁移的MongoDB分片集迁移到云数据库MongoDB分片集-数据校验
        • 专线迁移MongoDB副本集迁移到云数据库MongoDB副本集-一键反向
        • 专线迁移MySQL迁移到云数据库RDS-一键反向
        • 专线迁移的Redis标准版迁移到云数据库Redis标准版-数据校验
        • 专线迁移MySQL迁移到云数据库RDS-数据校验
        • 专线迁移MongoDB分片集迁移到云数据库MongoDB分片集
        • 专线迁移MongoDB副本集迁移到云数据库MongoDB副本集-数据校验
        • 专线迁移MySQL迁移到云数据库RDS
        • 专线迁移Redis Cluster迁移到云数据库Redis企业集群版
        • 专线迁移Redis标准版迁移到云数据库Redis标准版
      • 其他
        • 一键反向查询前置检查结果
        • 展示授权白名单
        • 一键反向延迟检查
        • 获取订单状态
        • 配置一键反向
        • 查询vpc列表
        • 查询MySQL实例拥有的账号列表
        • 绑定&解除标签
        • 查询可用区列表
        • 检查数据库连通性
        • 一键反向
      • 数据校验
        • 查询数据校验任务列表
        • 数据校验任务启动
        • 创建数据校验任务
        • 配置数据校验任务
        • 停止校验
        • 查看数据校验比对结果
        • 数据校验前置检查
        • 查看数据校验任务信息
  • 监控报警
    • 查看任务监控
    • 设置报警策略
  • 产品计费
    • 计费概述
    • 到期或欠费说明
    • 计费方式
    • 变更和退订说明
  • 数据校验
    • 配置数据校验
    • 查看数据校验
    • 数据校验概述
  • Java_SDK
    • SDK下载页
    • 安装-DTS-Java-SDK
    • 使用数据订阅SDK
    • SDK接口简介
    • SDK下载
    • 概述
  • 快速入门
    • 购买流程
    • 数据迁移操作指导
    • 配置迁移任务
  • 典型实践
    • 使用NimoShake将Amazon DynamoDB迁移至百度云DocDB
    • 不同库名间的数据同步
    • 获取主账号ID
    • 使用DTS实现目标端为Elasticsearch的数据迁移
    • 使用DTS实现MySQL数据拆分
    • 数据库迁移上云
    • 业务切换流程
    • DTS支持专线迁移
    • DTS支持专线迁移(新)
    • 修改RDS MySQL参数提升迁移性能
    • MySQL实例的双向同步
  • 准备工作
    • 自建MySQL创建账号并设置binlog
    • 迁移评估
      • 源端MySQL迁移评估
    • 网络准备
      • 网络准备概述
      • VPC接入
      • 添加DTS服务IP白名单
      • 本地IDC接入百度智能云
        • VPN接入
        • 专线接入
        • 公网接入
    • 访问控制
      • 子用户权限管理
  • 产品简介
    • 支持的数据流
    • 功能概览
    • 基本概念
    • 产品优势
    • 架构原理
    • 应用场景
    • 什么是数据库传输服务DTS
    • 链路规格说明
  • 数据迁移
    • 跨账号迁移云数据库实例
    • 迁移方案概览
    • TiDB为源的迁移
      • 自建TiDB迁移至GaiaDB
    • Oracle为源的迁移
      • 自建Oracle迁移至RDS MySQL
    • GaiaDB为源的迁移
      • GaiaDB实例间的迁移
    • MySQL为源的迁移
      • 腾讯云MySQL迁移至RDS MySQL
      • RDS MySQL迁移至GaiaDB
      • 自建MySQL迁移至GaiaDB
      • 自建MySQL迁移至RDS MySQL
      • 阿里云PolarDB迁移至GaiaDB
      • RDS MySQL实例间的迁移
      • 阿里云MySQL迁移至RDS MySQL
      • MySQL迁移至Kafka
    • 异构数据库间的数据类型映射关系
      • 百度智能云DTS数据类型
      • DTS支持的数据源端
        • 将Kafka作为源端
        • 将Redis标准版作为源端
        • 将GaiaDB作为源端
        • 将Oracle作为源端
        • 将SQL Server作为源端
        • 将云上百度DRDS作为源端
        • 将MongoDB分片集作为源端
        • 将PostgreSQL作为源端
        • 将MongoDB副本集作为源端
        • 将MySQL作为源端
      • DTS支持的数据目的端
        • 将SQL Server作为目标端
        • 将Elasticsearch作为DTS目的端
        • 将GaiaDB作为目标端
        • 将Palo作为目标端
        • 将DataHub作为目标端
        • 将PostgreSQL作为目标端
        • 将MySQL作为目标端
        • 将Kafka作为DTS目标端
    • SQL Server 为源的迁移
      • 自建SQL Server迁移至RDS SQL Server
    • MongoDB为源的迁移
      • 自建MongoDB分片集迁移至DocDB MongoDB
      • DocDB MongoDB副本集迁移至DocDB MongoDB
    • Kafka为源的迁移
      • 自建Kafka迁移至消息服务 for Kafka
    • PostgreSQL为源的迁移
      • RDS PostgreSQL实例间的迁移
      • 自建PostgreSQL迁移至RDS PostgreSQL
      • AWS PostgreSQL迁移至RDS PostgreSQL
    • Redis为源的迁移
      • 使用DTS实现自建Redis标准版到百度智能云SCS for Redis标准版的数据迁移
      • 云数据库Redis实例间的迁移
      • 自建Redis迁移至云数据库Redis(含PegaDB)
    • Milvus为源的迁移
      • 自建 Milvus 迁移至向量数据库 VectorDB
  • 产品动态
    • 功能发布记录
    • 公告
      • 数据传输服务DTS支持多规格数据传输任务
      • 数据传输服务DTS任务状态升级通知
  • 预检查项
    • TiDB检查项
    • PostgreSQL检查项
    • MySQL检查项
    • Palo检查项
    • Oracle检查项
    • GaiaDB-X检查项
    • RocketMQ检查项
    • MongoDB检查项
    • Redis检查项
    • Elasticsearch检查项
    • GaiaDB检查项
    • Kafka检查项
    • 预检查不通过处理方法
      • 源库、目标库的连接数是否满足要求检查
      • 迁移表依赖的外键父表是否迁移检查
      • 目的数据库是否只读检查
      • 目的数据库的账号权限是否满足迁移要求检查
      • 目的库中表是否为空检查
      • 源库和目标库中SQL_MODE是否合法检查
      • 数据传输服务器是否能连通目的数据库检查
      • 源数据库的版本号检查
      • 源数据库的账号权限是否满足迁移要求检查
      • 迁移表是否有不支持的存储引擎检查
      • 预检查项汇总
      • 迁移表的表结构在目的库是否存在检查
      • 目的数据库待迁入的数据库是否可用检查
      • 目的库是否存在跟待迁移对象同名的结构对象检查
      • 数据传输服务器是否能连通源数据库检查
  • 服务支持
    • 相关协议
      • DTS服务等级协议SLA
    • 常见问题
      • 使用类问题
      • 数据迁移问题
      • 常见问题总览
      • 数据同步问题
  • 文档中心
  • arrow
  • 数据传输服务DTS
  • arrow
  • 数据迁移
  • arrow
  • 异构数据库间的数据类型映射关系
  • arrow
  • DTS支持的数据目的端
  • arrow
  • 将Elasticsearch作为DTS目的端
本页目录
  • 1. 适用场景
  • 2. 将Elasticsearch作为DTS目标端的限制
  • 3. 将Elasticsearch作为DTS目标端的前置条件
  • 3.1 环境要求
  • 3.2 权限要求
  • 3.3 目标端Elasticsearch推荐配置
  • 4. 使用Elasticsearch作为DTS目标端
  • 4.1 任务配置
  • 4.2 对象映射
  • 5. 数据视图
  • 5.1 业务场景
  • 5.2 使用限制
  • 5.3 如何配置任务
  • 5.3.1 连接配置
  • 5.3.2 对象映射

将Elasticsearch作为DTS目的端

更新时间:2025-08-21

1. 适用场景

本文适用于使用百度智能云数据传输服务DTS(以下简称 DTS),将DTS已经支持的数据源迁移至Elasticsearch目标端中的场景。

2. 将Elasticsearch作为DTS目标端的限制

  • 不支持结构迁移。
  • 增量同步不支持同步关系型数据库的DDL语句。
  • 源端数据源为MySQL时,源端二进制日志(binlog)中的enum/set/timestamp类型字段只保留了原始二进制信息,DTS增量迁移到下游的数据与源端binlog保持一致,用户需要自行按照上游MySQL表结构解析其释义。
  • 不支持同步源端数据源的二进制类型(binary/BIT/BLOB等)、地理类型(GEOMETRY)数据。

3. 将Elasticsearch作为DTS目标端的前置条件

3.1 环境要求

已创建作为迁移目标端的Elasticsearch实例。如:百度Elasticsearch实例、自建Elasticsearch实例,DTS支持的Elasticsearch版本为5.0及以上。

3.2 权限要求

要求账号拥有在目标端Elasticsearch实例中创建索引、写入数据的权限。

3.3 目标端Elasticsearch推荐配置

目前,DTS暂不支持结构迁移。如果您选择全量/增量迁移,向下游写入数据时,Elasticsearch会根据写入数据的格式自动建立索引,并指定相应的索引映射(mapping)。但有可能Elasticsearch自行映射的字段类型并不符合实际的使用需求,因此不推荐这样做。

我们推荐在启动DTS任务前,先建立目标端Elasticsearch的相关索引,并按照实际的查询需求指定每一个字段的类型,然后启动DTS数据迁移任务。

此外,为了避免大批量写入数据给下游的Elasticsearch实例造成过高的负载,我们推荐将集群粒度属性refresh_interval配置为相对合理的值。如果您能接受新写入的数据在写入后1分钟可见,则可以考虑将refresh_interval取值设为1m。

Plain Text
1PUT /indice/_settings
2{
3    "index" : {
4        "refresh_interval" : "1m"
5    }
6}

4. 使用Elasticsearch作为DTS目标端

使用Elasticsearch作为目标端,在任务创建、前置检查、任务启动、任务暂停、任务终止的操作流程请参考操作指南。

在任务配置和对象映射部分与其他数据源有些许不同。

4.1 任务配置

首先配置数据传输任务的上下游连接信息

connection.png

如上图所示,目标端应选择Elasticsearch实例。目前DTS的目标端支持云上托管产品百度Elasticsearch和自建Elasticsearch实例。图中选择了华北-保定地域的百度Elasticsearch实例。Elasticsearch目标端配置参数说明如下:

  • 接入类型:支持公网/VPC/专线/BCC/BBC/DCC自建Elasticsearch实例和百度Elasticsearch实例。
  • 数据类型:固定选择Elasticsearch。
  • 地域:自建实例/百度Elasticsearch实例所在的百度云逻辑地域。接入类型选择公网时不需要选择地域。
  • 实例ID:接入类型选择BCC/BBC/DCC时,表示BCC/BBC/DCC实例ID;接入类型选择百度Elasticsearch时,表示百度Elasticsearch实例ID。接入类型选择公网时,不需要选择实例ID,但需要填入实例IP。
  • 端口:Elasticsearch实例的访问端口,百度Elasticsearch实例不需要填写该字段。

如果您的Elasticsearch实例为自建集群,且集群中包含多个节点,配置任务时只需要填写集群中某一个节点连接信息即可,推荐使用主节点配置任务。

  • 账号鉴权:接入类型选择百度Elasticsearch时,默认要求填写账号和密码,可在百度Elasticsearch实例详情页查得。接入类型选择公网/BCC/BBC/DCC时,可按照自建Elasticsearch实例的实际配置,选择是否需要填写账号鉴权信息。
  • 插入方式:属于数据视图相关功能,配置方式详见下文【数据视图】->【如何配置任务】。正常的数据迁移任务选择任务默认即可。
  • 指定主键:属于数据视图相关功能,配置方式详见下文【数据视图】->【如何配置任务】。正常的数据迁移任务无需配置该字段。

完成配置后点击【授权白名单进入下一步】按钮,进入对象映射配置页。

4.2 对象映射

schema.png

如上图所示,数据流向为:云数据库 RDS(MySQL) -> 百度Elasticsearch(Elasticsearch),迁移类型选择全量迁移+增量同步。传输对象可以选择迁移源端整个实例,也可以选择手动筛选迁移对象。图中选择将dtstest库下的multi_pk_tbl1、multi_pk_tbl2、multi_pk_tbl3三张表作为迁移对象。

选择好的迁移对象会出现在右边的已选择对象列表中。DTS支持上下游库表名映射、行过滤、列过滤黑白名单等功能。可以点击【编辑】,对每一个迁移对象配置映射和过滤规则。

上图中,示例任务配置了multi_pk_tbl1和multi_pk_tbl2的表名映射规则,将其目标端表名改为tbl1和tbl2。您也可以按照自己需要配置行过滤规则和列过滤黑白名单。

DTS数据迁移的映射规则为源端一张表对应Elasticsearch中一个索引,索引名为:映射后库名_映射后表名。如dtstest.multi_pk_tbl1表,配置了表名映射规则multi_pk_tbl1->tbl1后,对应下游的索引名为:dtstest_tbl1。同理,dtstest.multi_pk_tbl2表对应的下游索引名为dtstest_tbl2。而图中dtstest.multi_pk_tbl3表并未配置表名映射,因此其映射后表名仍为multi_pk_tbl3,所以其对应的下游索引名为:dtstest_multi_pk_tbl3。

如果选择库级别迁移,则只能配置库名映射,无法配置表名映射。下游索引名:映射后库名_表名。如:test库下有tbl1一张表,任务选择迁移test库,并配置库名映射为:test->alpha。则下游Elasticsearch实例中新建的索引名为:alpha_tbl1。

另外,Elasticsearch要求索引名必须为全小写。因此DTS会默认将上游库表名转为全小写的索引名。如:上游的dtsTEST.TESTTABLE表对应的下游Elasticsearch索引名为:dtstest_testtable。

完成对象映射配置后,点击【保存并预检查】,启动任务的前置检查。

5. 数据视图

5.1 业务场景

数据视图就是将源端数据源多张实体表的数据拼成一个视图,并保存到目标端Elasticsearch实例的同一个索引中。

upsert.png

如上图所示,源端数据源中存在三张实体表:tbl_name、tbl_age、tbl_address。其中,三张表中主键相同且均为pk_id,但表中其他字段相异。DTS支持建立源端多张实体表的数据同步到目标端某一个或某几个索引的数据迁移任务,同步任务以pk_id为索引指定主键,支持同步全量或增量数据。

5.2 使用限制

  • 同一视图内的表均包含索引指定主键。如上图中,tbl_name、tbl_age、tbl_address三张表中均包含索引指定主键pk_id。
  • 源端数据视图一致性由用户保证。同一视图内的表新增和删除数据时应尽可能保证原子性。
  • 不支持修改数据视图的指定主键列,会导致任务执行失败。

5.3 如何配置任务

5.3.1 连接配置

view1.png

回到任务配置中的连接配置页,数据视图功能与正常迁移任务的区别在于需要多配置两个字段。

  • 插入方式:固定选择upsert。
  • 指定主键:用户需要指定一个数据视图中的主键列,格式为:下游索引名1[主键列];下游索引名2[主键列1,主键列2]。

如上文中【5.1 业务场景】中的示例。tbl_name、tbl_age、tbl_address三张表组成的数据视图主键列为pk_id。源端数据视图对应的Elasticsearch索引名为:dtstest_view,此时指定主键中就应当配置为dtstest_view[pk_id]。

此外,一个数据迁移任务中可以配置多个数据视图的同步规则。如:一个数据迁移任务内打算配置dtstest_view1(主键列为id)、dtstest_view2(主键列为user_id和name)两个数据视图的全量迁移+增量迁移,指定主键可以配置为:dtstest_view1[id];dtstest_view2[user_id,name]。不同视图间用分号(;)连接,同一视图的不同主键列间用逗号(,)连接。

5.3.2 对象映射

在对象映射配置页中,数据视图功能与正常迁移任务的区别在于同一数据视图的实体表需要配置表名映射,以确保源端多张表的全量数据和增量变更记录能够写入目标端同一个Elasticsearch索引中。

如下图所示,multipktbl1、multipktbl2、multipktbl3三张表同属同一个数据视图,因此三张表的目标端表名配置为view。配置后的目标端Elasticsearch索引名为:映射后库名_映射后表名(dtstest_view)。索引名与上一步中指定主键配置(dtstest_view[pk_id])中的索引名保持一致。

view2.png

上一篇
将SQL Server作为目标端
下一篇
将GaiaDB作为目标端