历史版本11 :StarRocks数据源特性说明 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

版本编辑

 FineDataLink 版本
功能变动
4.0.24

定时任务输入输出支持 StarRocks

管道任务数据输出支持 StarRocks

4.1.3StarRocks 数据源作为写入端,支持自动建表
4.1.7.2
 2.1 之后版本的 StarRocks,在管道任务中,支持「同步时标记时间戳」功能
4.1.10.1
  • StarRocks 作为目标端时,支持 DDL

  • StarRocks 作为目标端&目标表的类型为自动建表时,自动将来源端主键标记为自动建表的主键

  • 写入 3.0 及以上版本的 StarRocks ,若来源端数据存在分隔符,可正常写入

使用限制编辑

FineDataLink 支持连接 StarRocks 进行定时任务读写管道任务写入

列名如果包含中文,不支持写入。

数据开发

目标表为自动建表

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

注1:StarRocks支持自动建表的表类型,表名首字母必须为英文,否则建表会失败。

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

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

不支持设置物理主键

支持设置 NOT NULL

更新模型(Unique Key)

必须设置物理主键

支持设置 NOT NULL

当写入方式选择"基于标识字段,追加/更新/删除数据"时,只支持物理删除,不支持逻辑删除

主键模型(Primary Key)

必须设置物理主键

支持设置 NOT NULL

StarRocks 1.19及以上版本支持使用

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

目标表为已存在表

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

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

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

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

主键模型(Primary Key)

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

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

不支持:

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

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

2)更新模型(Unique Key),写入方式选择基于标识字段,追加/更新/删除数据」时,只支持物理删除,不支持逻辑删除

更新模型(Unique Key)

聚合模型(Aggregate Key)

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

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

数据管道

目标表为自动建表

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

注1:StarRocks支持自动建表的表类型,表名首字母必须为英文,否则建表会失败。

注2:作为管道输出端时,不支持逻辑主键。

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

仅展示,不可选

更新模型(Unique Key)

仅展示,不可选

主键模型(Primary Key)

支持设置物理主键

支持设置 NOT NULL

StarRocks 1.19及以上版本支持使用

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

DDL 同步说明

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

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

  • TINYINT/SMALLINT/INT/BIGINT 转换成 TINYINT/SMALLINT/INT/BIGINT/DOUBLE

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

  • VARCHAR 支持修改最大长度

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

  • VARCHAR 转换成 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 类型数据不合法则转换失败,原始数据不变)

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

同步时标记时间戳说明

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

逻辑删除说明

选择了逻辑删除,且需要自动新建对应列字段,会导致作为输出端的管道任务第一次启动速度较慢(最长可能几十秒),这是因为SR 在更新 SCHEMA 时, 会锁表且时间较长,之后对目标表的修改操作会被阻塞。

其他说明

insert 和 update 都处理为 insert, 通过 stream load 方式写入目标表。

通用

1)如果 StarRocks 作为数据写入端时使用,FineDataLink 使用 Stream load 导入方式通过 HTTP 协议导入本地文本文件或者程序文件,导入命令到 FE,FE 会通过 HTTP 重定向指令将请求转发给 BE。还可以将导入命令直接提交到指定的 BE。导入的最终结果由协调器 BE 返回。该方式适用数量级在1G~10G的数据。

2)4.1.10.1 及之后版本 & 写入 3.0 及以上版本的 StarRocks ,若来源端数据存在分隔符,可正常写入。

写入 3.0 版本以下的 StarRocks,若来源端数据存在分隔符,写入将报错。用户可以先检查源端是否同步了二进制字段,将二进制字段取消同步,再使用公式将分隔符进行替换(例如替换为空格)。

任务开发编辑

配置数据连接 

详情请参见:配置StarRocks数据源

数据开发

详情请参见:数据开发概述

数据管道

详情请参见:数据管道概述

数据服务

详情请参见:数据服务概述