
通用限制
列名如果包含中文,不支持写入。
数据开发-定时任务
数据来源
数据来源写入的时候,空字符串要用一对单引号,不能用双引号。
目标表为自动建表
若数据去向选择了「StarRocks」数据源,则设置去向端表时,需要选择表类型,如下表所示:
注1:StarRocks支持自动建表的表类型,表名首字母必须为英文,否则建表会失败。
注2:4.1.10.1 及之后版本,StarRocks 作为目标端&目标表的类型为自动建表时,自动将来源端主键标记为自动建表的主键。
表类型 | 建表时设置项说明 |
---|---|
明细模型(Duplicate Key) | 不支持设置物理主键 支持设置 NOT NULL 4.1.11.5 及之后的版本,数据来源的配置方式为「选表」&目标表建表方式选择「自动建表」,字段映射中可自动获取来源表的 NOT NULL 信息 |
更新模型(Unique Key) | 必须设置物理主键 支持设置 NOT NULL 当写入方式选择"基于标识字段,追加/更新/删除数据"时,只支持物理删除,不支持逻辑删除 |
主键模型(Primary Key) | 必须设置物理主键 支持设置 NOT NULL StarRocks 1.19及以上版本支持使用 4.2.3.1 及之后版本:来源表无主键,「数据去向与映射」Tab 中为目标表配置主键时,不支持将 Decimal 类型的字段设置为目标表的主键 |
聚合模型(Aggregate Key) | 此类型不支持自动建表 |
目标表为已存在表
若数据去向选择了「StarRocks」数据源,则设置去向端表时,需要选择表类型,后续设置写入方式时有一定的限制,如下表所示:
表类型 | 写入限制 |
---|---|
明细模型(Duplicate Key) | 1)写入方式选择「直接将数据写入目标表」时,不支持配置主键映射和主键冲突策略 2)写入方式不支持「基于标识字段,追加/更新/删除数据」 |
主键模型(Primary Key) | 1)当选择"直接将数据写入目标表"时,主键冲突策略只能选择: 主键相同,覆盖目标表的数据 不支持: 主键相同,忽略输入源的数据 主键相同,停止写入并报错 2)更新模型(Unique Key),写入方式选择「基于标识字段,追加/更新/删除数据」时,只支持物理删除,不支持逻辑删除 |
更新模型(Unique Key) | |
聚合模型(Aggregate Key) | 1)写入方式选择「直接将数据写入目标表」时,不支持配置主键映射和主键冲突策略 2)不支持选择"基于标识字段,追加/更新/删除数据"; |
分隔符说明
FDL 版本 | StarRocks版本 | 说明 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
4.1.10.1之前 | - | 写入 StarRocks 时,FDL 使用默认的分隔符分割行列数据,若待写入数据中包含默认分隔符,写入将报错 示例说明: 待写入数据:
若 FDL 使用, 作为分隔符,写入时,A 列的 1,1 将会被,分割拆开写入,写入出错 建议: 用户可以先检查源端是否同步了二进制字段,将二进制字段取消同步,再使用公式将分隔符进行替换(例如替换为空格) | ||||||||
4.1.10.1及之后-4.2.3.1 | 3.0以下 | |||||||||
3.0及以上 | 若来源端数据包含 FDL 默认的分隔符,会帮用户做转义替换(使用转义符来转义数据中的行列分隔符),使数据写入成功 | |||||||||
4.2.3.1 及之后 | 3.0及以上 | 支持指定行列分隔符。如下图所示: 注:行列分隔符不能相同 列分隔符说明: 下拉框支持选项:自动处理、推荐分隔符(\x01)、英文逗号、制表符、英文分号、管道符、ASCII字符
行分隔符说明:支持设置CR+LF、LF、ASCII字符作为行分隔符 4.2.4.3 版本「行分隔符」增加「推荐分隔符」为\x02,同时默认选中,保证替换为行分隔符后低版本数据正常。 「行分隔符」其实是\x02 ,替换为换行符后,对于低版本数据库,在没有正确处理「列分隔符」的情况下,会造成数据异常,因此增加该功能。 | ||||||||
3.0以下 | 与「3.0及以上版本」不同的是,列分隔符中没有「自动处理」选项 |
数据管道
注:数据管道需要数据库版本在 2.3 以上。
目标表为自动建表
若数据去向选择了「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 时, 会锁表且时间较长,之后对目标表的修改操作会被阻塞。
分隔符说明
FDL 版本 | StarRocks版本 | 说明 | ||||||
---|---|---|---|---|---|---|---|---|
4.1.10.1之前 | - | 写入 StarRocks 时,FDL 使用默认的分隔符分割行列数据,若待写入数据中包含默认分隔符,写入将报错 示例说明: 待写入数据:
若 FDL 使用, 作为分隔符,写入时,A 列的 1,1 将会被,分割拆开写入,写入出错 建议: 用户可以先检查源端是否同步了二进制字段,将二进制字段取消同步,再使用公式将分隔符进行替换(例如替换为空格) | ||||||
4.1.10.1及之后 | 3.0以下 | |||||||
3.0及以上 | 若来源端数据包含 FDL 默认的分隔符,会帮用户做转义替换(使用转义符来转义数据中的行列分隔符),使数据写入成功 |
其他说明
insert 和 update 都处理为 insert, 通过 stream load 方式写入目标表。
数据开发-实时任务
当DB表输出选择 StarRocks 作为数据去向:
选择输出表类型 | 说明 |
---|---|
已存在表 | 表类型无限制 表类型如果为明细模型:
|
自动建表 | 4.2.1.4 之前版本,表类型只能选择主键模型;4.2.1.4 及之后版本,表类型可以选择明细模型 字段映射处,可以选择表类型为明细模型,当选择明细模型时:
|