更新时间:2025-11-07 GMT+08:00
分享

Doris数据源

支持版本

Doris是一种高性能、高扩展性的分布式分析型数据库,支持实时数据写入和快速查询,适用于海量数据的多维分析和报表生成等场景。

本数据集成服务支持华为云上MRS Doris与CloudTable Doris数据源,提供高效便捷的数据迁移服务。

实现原理

Doris Reader通过原生JDBC方式进行数据读取,DorisWriter写入支持JDBC/StreamLoad两种写入方式,提供高效的读写能力。

使用前准备及限制

  • 网络要求

    Doris数据源必须与CDM网络进行通讯,以确保数据传输的顺畅性。详情请参见网络打通

  • 权限要求
    • MRS Doris读写权限
      • 读权限:如果需要从MRS Doris读取数据,需要为数据集成服务的IAM用户或用户组授予MRS Doris的只读权限,如MRS ReadOnlyAccess系统策略,或者根据具体需求创建自定义策略,授予如SELECT等读取相关操作的权限。
      • 写权限:如果需要向MRS Doris写入数据,需要为数据集成服务的IAM用户或用户组授予MRS Doris的写入权限,如MRS CommonOperationsMRS FullAccess系统策略,或者创建自定义策略,授予如INSERT INTO TABLECREATE TABLE等写入相关操作的权限。
    • CloudTable Doris读写权限
      • 读权限:为数据集成服务的 IAM 用户或用户组授予CloudTable的ReadOnlyAccess系统策略,或创建自定义策略授予SELECT等读取操作权限。
      • 写权限:为数据集成服务的 IAM 用户或用户组授予CloudTable的CommonOperationsFullAccess系统策略,或创建自定义策略授予INSERT INTO TABLECREATE TABLE等写入操作权限。
  • 端口放通
    • JDBC端口(9030):确保Doris服务的JDBC端口9030已放通,以便数据集成服务通过JDBC连接到Doris数据库进行数据读取和写入操作。
    • StreamLoad端口(8030):如果使用StreamLoad方式写入数据,需要确保Doris服务的StreamLoad端口8030已放通,以便数据集成服务能够通过此端口将数据高效地写入Doris。
    • StreamLoad端口(8050):如果使用StreamLoad方式写入数据且开启HTTPS加密,需要确保Doris服务的StreamLoad HTTPS端口8050已放通,以便数据集成服务能够通过此端口将数据安全地写入Doris。

驱动使用

  • 建议使用MySQL驱动。
  • Doris版本与驱动版本对应关系:
    • Doris版本2.0以下:配置连接的驱动需要使用MySQL 5.x驱动版本。
    • Doris版本2.0及以上:配置连接的驱动需要使用MySQL 8.0.27驱动版本。

支持的字段类型

不同Doris版本支持不同的数据类型。下面为您介绍本数据集成服务Doris当前主要字段的支持情况。各版本Doris的全量字段类型请参见Doris的官方文档

分类

字段类型

读取是否支持

写入是否支持

数值

SMALLINT

INT

BIGINT

LARGEINT

FLOAT

DOUBLE

DECIMAL

DECIMALV3

时间

DATE

DATETIME

DATEV2

DATATIMEV2

字符

CHAR

VARCHAR

STRING

VARCHAR

TEXT

其余

POINT

x

x

JSON

ARRAY

x

x

JSONB

x

x

HLL

x

x

BITMAP

x

x

QUANTILE_STATE

x

x

支持的迁移场景

数据集成离线同步支持以下三种同步方式,以满足不同数据迁移场景的需求:

需要注意的是,分库分表与整库迁移能力会根据不同region的上线支持情况有所不同,具体支持情况以页面为准。以下是针对Doris的支持迁移场景概览:

支持迁移场景

单表读取

单表写入

分库分表读取

分库分表写入

整库读取

整库写入

是否支持

x

x

x

核心能力速览

  • 连接配置

    配置项

    支持情况

    说明

    支持协议

    JDBC/

    Streamload

    数据集成服务支持通过JDBC协议和Streamload方式与Doris进行数据交互。

    JDBC协议适用于通用的数据库操作。

    Streamload方式则提供了更高效的数据写入性能,尤其适合大规模数据的快速导入。

    HTTPS支持

    数据集成服务支持通过HTTPS协议与Doris进行安全的数据传输,确保数据在传输过程中的加密和完整性。

    连接配置调优

    支持 connectTimeout 等连接配置调优,可根据实际需求优化连接性能。

  • 读取能力

    配置项

    支持情况

    说明

    增量读取

    支持【where条件】或通过【sql方式】的增量读取。

    读取模式

    支持【库表模式】和【sql方式】。库表模式可直接读取指定表数据;SQL方式可通过SQL语句灵活查询,满足复杂需求。

    分片并发

    支持按常见字段做水平分片或根据分区进行分片,多线程并行抽取,显著提升吞吐效率。

    自定义字段

    可在任务级追加计算列、常量列或脱敏函数,满足个性化业务需求。

    脏数据处理

    支持异常数据写入脏数据桶,避免因少量异常数据导致作业失败。

  • 写入能力

    配置项

    支持情况

    说明

    写入模式

    JDBC/

    STREAM_LOAD

    数据集成服务支持通过JDBC协议和Streamload方式与Doris进行数据交互。JDBC协议适用于通用的数据库操作。

    Streamload方式则提供了更高效的数据写入性能,尤其适合大规模数据的快速导入。

    导入前后处理

    支持 preSql/truncate 等操作,可在数据导入前后进行数据清洗和处理。

    写入行数调优

    在JDBC方式下,支持在连接中配置 【单次写入行数】参数调优,可根据实际需求优化写入性能。

    在STREAM_LOAD方式下,支持【stream load 配置参数】,可根据实际需求优化写入性能。

    脏数据处理

    x

    支持异常数据写入脏数据桶,避免因少量异常数据导致作业失败,暂不支持。

    并发写入

    支持并发写入,提升写入效率。

创建数据源

DataArts Studio管理中心新建相应的数据源,详情请参见创建DataArts Studio数据连接

创建数据集成离线作业

DataArts Studio数据开发中新建Doris集成作业,详情请参见新建离线处理集成作业

相关文档