反馈已提交

网络繁忙

Doris数据源特性说明

  • 文档创建者:Roxy
  • 历史版本:46
  • 最近更新:Naya 于 2025-07-28
  • icon提示:
    本文详细说明 Doris 数据源在 FDL 中的使用特性,包括使用限制以及在不同功能使用中的特殊情况,帮助用户更好地理解和应用数据源。

    1. 通用限制

    1)FineDataLink 支持连接 Doris ,进行定时任务读写、管道任务写入、作为数据服务数据发布源、实时任务写入。

    2)配置 Doris 数据连接时,输入的用户需要有 admin 权限,才能保证 FDL 功能的正常使用。

    3)写入 Doris 数据库时,目标表表名、字段名中不能含中文

    2. 定时任务

    2.1 数据来源

    数据来源写入的时候,空字符串要用一对单引号,不能用双引号。

    4.2.7.3 版本及之后,定时任务支持读取 Doris 数据库的分区表。

    2.2 写入分区表

    1)4.2.7.3 及之后版本,定时任务支持写入 Doris 数据库的分区表。如下图所示:

    1.png

    2)目标表若为自动建表,支持选取目标表里的某些字段作为分区键。如下图所示:

    3.png

    配置项
    说明
    分区方式

    • 范围分区(RANGE)

    • 列表分区(LIST)

    • 自动范围分区(Doris 2.1 及以上版本支持

    • 自动列表分区Doris 2.1 及以上版本支持

    分区字段

    选择映射已有字段作为分区字段。

    不同分区方式可选的分区字段如下:

    • 范围分区:DATE、DATETIME、TINYINT、SMALLINT、INT、BIGINT、LARGEINT

    • 列表分区:BOOLEAN、TINYINT、SMALLINT、INT、BIGINT、LARGEINT、DATE、DATETIME、CHAR、VARCHAR

    • 自动范围分:DATE、DATETIME

    • 自动列表分区:BOOLEAN, TINYINT, SMALLINT, INT, BIGINT, LARGEINT, DATE, DATETIME, CHAR, VARCHAR

    分区配置

    进行分区配置,支持添加多个分

    Doris 2.0 及以上版本的分区字段为「数值/日期时间/日期类型时,支持「自动分区间隔」

    2.3 自动建表-表类型

    若数据去向选择了「Doris」数据源,则设置去向端表时,需要选择表类型,如下表所示:

    注:4.1.10.1 及之后版本,Doris 作为目标端&目标表的类型为自动建表时,自动将来源端主键标记为自动建表的主键。

    表类型建表时设置项说明
    明细模型(Duplicate Key)

    不支持设置物理主键

    支持设置 NOT NULL

    4.1.11.5 及之后的版本数据来源的配置方式为「选表」时,目标表选择「自动建表」字段映射同步来源表的非空信息。

    主键模型(Unique Key)- 读时合并

    必须设置物理主键

    支持设置 NOT NULL

    主键模型(Unique Key)- 写时合并

    必须设置物理主键

    支持设置 NOT NULL

    Doris 1.2.0 及以上版本支持使用

    聚合模型(Aggregate Key)此类型不支持自动建表

    2.4 已存在表-表类型

    若数据去向选择了「Doris」数据源,则设置去向端表时,需要选择表类型,后续设置写入方式时有一定的限制,如下表所示:

    表类型写入限制
    明细模型(Duplicate Key)

    1)写入方式选择「直接将数据写入目标表」时,不支持配置主键映射和主键冲突策略

    2)写入方式不支持「基于标识字段,追加/更新/删除数据」

    主键模型(Unique Key)- 写时合并

    当选择直接将数据写入目标表时,主键冲突策略只能选择:

    主键相同,覆盖目标表的数据

    不支持:

    • 主键相同,忽略输入源的数据

    • 主键相同,停止写入并报错

    主键模型(Unique Key)- 读时合并

    聚合模型(Aggregate Key)

    1)当选择"直接将数据写入目标表"时,不支持:

    配置主键映射以及主键冲突策略

    2)不支持选择"基于标识字段,追加/更新/删除数据";

    2.5 分隔符说明

    FDL 版本
    Doris版本说明
    4.1.10.1之前-

    写入 Doris 时,FDL 使用默认的分隔符分割行列数据,若待写入数据中包含默认分隔符,写入将报

    示例说明:

    待写入数据:

    A
    BC
    1,123

    若 FDL 使用, 作为分隔符,写入时,A 列的 1,1 将会被分割拆开写入,写入出错

    建议:

    用户可以先检查源端是否同步了二进制字段,将二进制字段取消同步,再使用公式将分隔符进行替换(例如替换为空格)

    4.1.10.1及之后-4.2.3.12.0以下
    2.0及以上若来源端数据包含 FDL 默认的分隔符,会帮用户做转义替换(使用转义符来转义数据中的行列分隔符),使数据写入成功
    4.2.3.1 及之后
    2.0及以上

    支持指定行列分隔符。如下图所示

    注:行列分隔符不能相同

    2.png

    列分隔符说明:

    下拉框支持选项:自动处理、推荐分隔符(\x01)、英文逗号、制表符、英文分号、管道符、ASCII字符

    列分隔符说明
    自动处理

    优点:

    若来源端数据包含 FDL 默认的分隔符,会帮用户做转义替换(使用转义符来转义数据中的行列分隔符),确保数据写入成功

    缺点:

    会损失一些写入性能

    推荐分隔符(\x01)

    优点

    大部分场景中,用户数据中不会包含 \x01,避免写入出错的同时,保证性能

    缺点:

    若用户数据中包含 \x01,FDL 不做转义替换,写入将报错

    英文逗号、制表符、英文分号、管道符、ASCII字符若使用推荐分隔符报错,用户根据实际数据,指定分隔符

    行分隔符说明:支持设置CR+LF、LF、ASCII字符作为行分隔符

    4.2.4.3 版本「行分隔符」增加「推荐分隔符」为\x02,同时默认选中,保证替换为行分隔符后低版本 Doris 数据正常。

    「行分隔符」其实是\x02 ,替换为换行符后,对于低版本 Doris,在没有正确处理「列分隔符」的情况下,会造成数据异常,因此增加该功能。

    2.0以下「2.0及以上版本不同的是,列分隔符中没有自动处理选项

    2.6 数据分批

    4.2.8.4 及之后版本,写入 Doris 时,支持设置数据分批条件,只要满足其中任何一个条件,就会立即生成一批数据并执行写入操作。

    • 自动分批:一般情况下使用「自动分批」配置即可;

    • 自定义分批:当大批量数据写入或高频次写入引发数据库压力过载问题,可以灵活调整分批写入配置。

    任务类型
    支持的功能限制说明
    定时任务

    支持自动分批

    支持自定义分批:单条批数、单批大小

    13.png

    单条批数限制范围:0~9999999
    单批大小限制范围:0~999
    单批累积时间限制范围:100~1000000
    实时任务

    支持自动分批

    支持自定义分批:单条批数、单批大小、单批累计时间

    1.png

    实时管道任务

    支持自动分批

    支持自定义分批:单条批数、单批大小、单批累计时间

    1.png

    注:若同步类型选择「存量+增量同步」,单批累计时间设置仅对增量阶段的数据生效

    2.7 写入间隔

    4.2.8.4 及之后版本,写入 Doris 时,支持设置写入间隔,控制数据的写入频率。如下图所示:

    2.png

    2.8 特殊场景说明

    写入到 Doris 时,写入方式选择直接直接将数据写入目标表」,设置主键冲突则覆盖,执行操作如下:

    1)源表的所有字段先同步到目标表,比如字段 a 同步到目标表字段 a,任务运行后,此时目标表字段 a 有数据。

    2)在字段映射里把字段 a 的映射关系取消,即代表着不同步字段 a 。

    运行任务后将发现,目标表字段 a 的值都为 NULL(该问题等待产品后续解决)。

    3. 实时管道任务

    3.1 目标表为自动建表

    1)若数据去向选择了「Doris」数据源,则设置去向端表时,需要选择表类型,如下表所示:

    表类型建表时设置项说明
    明细模型(Duplicate Key)

    仅展示,不可选

    主键模型(Unique Key)- 读时合并

    必须设置物理主键

    支持设置 NOT NULL

    主键模型(Unique Key)- 写时合并

    必须设置物理主键

    支持设置 NOT NULL

    Doris 1.2.0 及以上版本支持使用;

    聚合模型(Aggregate Key)仅展示,不可选

    2)4.2.7.3 及之后版本,管道任务中目标表若为自动建表,支持选取目标表里的某些字段作为分区键;目标表若为已存在表,支持写入分区表。

    详细说明可参考本文 2.2 节。

    4.png

    3.2 DDL 同步说明

    4.1.10.1 之前版本,Doris 作为目标端时,不支持 DDL 同步;4.1.10.1 及之后版本,Doris 作为目标端时,支持 DDL 同步。

    Doris 作为目标端,源端修改列类型时,DDL 支持的修改操作如下:

    • TINYINT/SMALLINT/INT/BIGINT/LARGEINT/FLOAT/DOUBLE 类型向范围更大的数字类型转换

    • TINTINT/SMALLINT/INT/BIGINT/LARGEINT/FLOAT/DOUBLE/DECIMAL 转换成 VARCHAR

    • VARCHAR 支持修改最大长度

    • VARCHAR/CHAR 转换成 TINTINT/SMALLINT/INT/BIGINT/LARGEINT/FLOAT/DOUBLE

    • VARCHAR/CHAR 转换成 DATE (目前支持"%Y-%m-%d", "%y-%m-%d", "%Y%m%d", "%y%m%d", "%Y/%m/%d, "%y/%m/%d"六种格式化格式)

    • DATETIME 转换成 DATE(仅保留年-月-日信息, 例如: 2019-12-09 21:47:05 <--> 2019-12-09

    • DATE 转换成 DATETIME(时分秒自动补零, 例如: 2019-12-09 <--> 2019-12-09 00:00:00

    • FLOAT 转换成 DOUBLE

    • INT 转换成 DATE (如果 INT 类型数据不合法则转换失败,原始数据不变)

    • 除 DATE 与 DATETIME 以外都可以转换成 STRING,但是 STRING 不能转换任何其他类型。

    对于支持范围外的字段修改操作,数据库会报错,会打印 DDL 应用失败的日志。

    3.3 同步时标记时间戳说明

    4.1.7.2 之前版本,数据管道实时数据不支持「同步时标记时间戳」功能;FDL 为 4.1.7.2 及之后版本 & Doris 版本为 2.0 之后,支持「同步时标记时间戳」功能。

    3.4 主键说明

    不支持逻辑主键。

    3.5 分隔符说明

    FDL 版本
    Doris版本说明
    4.1.10.1之前-

    写入 Doris 时,FDL 使用默认的分隔符分割行列数据,若待写入数据中包含默认分隔符,写入将报

    示例说明:

    待写入数据:

    A
    BC
    1,123

    若 FDL 使用, 作为分隔符,写入时,A 列的 1,1 将会被分割拆开写入,写入出错

    建议:

    用户可以先检查源端是否同步了二进制字段,将二进制字段取消同步,再使用公式将分隔符进行替换(例如替换为空格)

    4.1.10.1及之后2.0以下
    2.0及以上若来源端数据包含 FDL 默认的分隔符,会帮用户做转义替换(使用转义符来转义数据中的行列分隔符),使数据写入成功

    3.6 数据分批/写入间隔

    4.2.8.4 及之后版本,实时管道任务写入 SelectDB 时,选择去向中支持设置数据分批、写入间隔。详情参见本文 2.6、2.7 节。

    4. 实时任务

    4.1 自动建表/已存在表

    DB 表输出 选择 doris 作为数据去向:

    选择输出表类型说明
    已存在表

    表类型无限制

    表类型如果为明细模型:

    • 字段映射处不展示主键列,支持无主键同步(将插入事件的数据直接插入到目标表),任务重启时可能有重复数据,发生删除和更新事件将导致报错

    5.0.0.4 及之后版本,当前任务中存在产生更新流的算子&写入 Doris 时,不支持无主键同步;会产生更新流的算子:CDC输入、分组汇总、数据关联(多个实时数据源进行关联)

    • 写入方式处,不支持配置主键映射,不支持配置逻辑删除

    自动建表

    4.2.1.4 之前版本,表类型只能选择主键模型;4.2.1.4 及之后版本,表类型可以选择明细模型

    字段映射处,可以选择表类型为明细模型,当选择明细模型时:

    • 字段映射时不展示「主键」列,支持无主键同步(将插入事件的数据直接插入到目标表),任务重启时可能有重复数据,发生删除和更新事件将导致报错

    5.0.0.4 及之后版本,当前任务中存在产生更新流的算子&写入 Doris 时,不支持无主键同步;会产生更新流的算子:CDC输入、分组汇总、数据关联(多个实时数据源进行关联)

    • 写入方式处,不支持配置主键映射,不支持配置逻辑删除

    4.2 数据分批/写入间隔

    4.2.8.4 及之后版本,实时管道任务写入 SelectDB 时,写入方式支持设置数据分批、写入间隔。详情参见本文 2.6、2.7 节。

    5. 数据服务

    4.2.7.3 及之后版本,数据服务支持选择 Doris 数据库的分区表。

    附件列表


    主题: 配置数据源
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持