版本编辑
FineDataLink 版本 | 功能变动 |
---|---|
4.0.23 | 定时任务输入输出支持 Doris 管道任务数据输出支持 Doris |
4.0.27 | 写入到 Doris 采用 stream load 导入方式,即把数据输出为 CSV 格式,然后再 load 进数据库里 但是如果来源端的字段或字段名里存在换行,将其转化为CSV的时候,会被识别为多个字段或多个值,写入时出现问题,因此将换行符从/n /t 改成\01 \02 字符 |
4.1 | 数据服务支持 Doris 数据源 |
4.1.3 | Doris 数据源作为写入端,支持自动建表 |
4.1.7.2 | 2.0 版本之后的 Doris,在管道任务中,支持「同步时标记时间戳」功能 |
4.1.10.1 |
|
4.1.11.5 | 数据同步数据来源的配置方式为「选表」时,目标表为明细模型,选择「自动建表」字段映射同步来源表的非空信息。 |
使用限制编辑
FineDataLink 支持连接 Doris ,进行定时任务读写、管道任务写入以及数据服务数据发布源
数据开发
数据来源
数据来源写入的时候,空字符串要用一对单引号,不能用双引号。
目标表为自动建表
若数据去向选择了「Doris」数据源,则设置去向端表时,需要选择表类型,如下表所示:
注1:Doris 支持自动建表的表类型,表名首字母必须为英文,否则建表会失败。
注2: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) | 此类型不支持自动建表 |
目标表已存在表
若数据去向选择了「Doris」数据源,则设置去向端表时,需要选择表类型,后续设置写入方式时有一定的限制,如下表所示:
表类型 | 写入限制 |
---|---|
明细模型(Duplicate Key) | 1)写入方式选择「追加写入目标表」时,不支持配置主键映射和主键冲突策略 2)写入方式不支持「基于标识字段,追加/更新/删除数据」 |
主键模型(Unique Key)- 写时合并 | 当选择"直接将数据写入目标表"时,主键冲突策略只能选择: 主键相同,覆盖目标表的数据 不支持:
|
主键模型(Unique Key)- 读时合并 | |
聚合模型(Aggregate Key) | 1)当选择"直接将数据写入目标表"时,不支持: 配置主键映射以及主键冲突策略 2)不支持选择"基于标识字段,追加/更新/删除数据"; |
数据管道
目标表为自动建表
若数据去向选择了「Doris」数据源,则设置去向端表时,需要选择表类型,如下表所示:
注:Doris支持自动建表的表类型,表名首字母必须为英文,否则建表会失败。
表类型 | 建表时设置项说明 |
---|---|
明细模型(Duplicate Key) | 仅展示,不可选 |
主键模型(Unique Key)- 读时合并 | 必须设置物理主键 支持设置 NOT NULL |
主键模型(Unique Key)- 写时合并 | 必须设置物理主键 支持设置 NOT NULL Doris 1.2.0 及以上版本支持使用; |
聚合模型(Aggregate Key) | 仅展示,不可选 |
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 应用失败的日志。
同步时标记时间戳说明
4.1.7.2 之前版本,数据管道实时数据不支持「同步时标记时间戳」功能;FDL 为 4.1.7.2 及之后版本 & Doris 版本为 2.0 之后,支持「同步时标记时间戳」功能。
主键说明
不支持逻辑主键。
通用
4.1.10.1 及之后版本 & 写入 2.0 及以上版本的 Doris ,若来源端数据存在分隔符,可正常写入。
写入 2.0 版本以下的 Doris,若来源端数据存在分隔符,写入将报错。用户可以先检查源端是否同步了二进制字段,将二进制字段取消同步,再使用公式将分隔符进行替换(例如替换为空格)。