配置 StarRocks 数据源
StarRocks 是一款高性能分析型数据仓库,使用向量化、MPP 架构、CBO、智能物化视图、可实时更新的列式存储引擎等技术实现多维、实时、高并发的数据分析。
支持的版本
StarRocks 3.3+
使用限制
目前仅支持以下配置方式:
- 支持 AE 预置仓空间表 向 StarRocks 写入(离线写入)
注:
- 暂不支持读取 StarRocks 数据源(离线读取 )
支持的字段类型
StarRocks 会由其引擎判断来源字段是否能正确写入去向字段,若不成功则为 Null 。
AE 数据开发平台集成方案不会强制转换数据类型,交由引擎处理。
| StarRocks 类型 | 离线写(Writer) | 备注 |
|---|---|---|
| 数值类型 | ||
| TINYINT | 支持 | 1 字节有符号整数,范围 [-128, 127] |
| SMALLINT | 支持 | 2 字节有符号整数,范围 [-32768, 32767] |
| INT | 支持 | 4 字节有符号整数,范围 [-2147483648, 2147483647] |
| BIGINT | 支持 | 8 字节有符号整数,范围 [-9223372036854775808, 9223372036854775807] |
DECIMAL | 支持 | DECIMAL(P [, S]) 高精度定点数, P 代表一共有多少个有效数字 (precision),S 代表小数点后最多有多少数字 (scale)。1.19.0 及以后版本对 decimal 类型的(P,S)有默认值设置,默认是 decimal(10,0) |
| DOUBLE | 支持 | 8 字节浮点数 |
| BOOLEAN | 支持 | BOOL, BOOLEAN 与 TINYINT 一样,0 代表 false,1 代表 true |
| LARGEINT | 支持 | 16 字节有符号整数,范围 [-2^127 + 1 ~ 2^127 - 1] |
| FLOAT | 支持 | 4 字节浮点数。 |
| 字符串类型 | ||
| CHAR | 支持 | CHAR(M) 定长字符串,M 代表的是定长字符串的长度。M 的范围是 1~255。 |
VARCHAR | 支持 | VARCHAR(M) 变长字符串。 M 代表变长字符串长度,单位:字节,默认取值为 1。 |
| STRING | 支持 | 字符串,最大长度 65533 字节 |
BINARY/VARBINARY | 暂不支持 | 自 3.0 版本起,StarRocks 支持 BINARY(M) / VARBINARY(M) 数据类型,用于存储二进制数据,单位为字节。 支持的最大长度与 VARCHAR 类型相同, BINARY 是 VARBINARY 的别名,用法与 VARBINARY 相同。 |
| 时间类型 | ||
| DATE | 支持 | 日期类型,目前的取值范围是 ['0000-01-01', '9999-12-31']。 默认的打印形式是 'YYYY-MM-DD'。 |
| DATETIME | 支持 | 日期时间类型,取值范围是 ['0000-01-01 00:00:00', '9999-12-31 23:59:59']。 打印的形式是'YYYY-MM-DD HH: MM: SS' |
| 半结构化类型 | ||
| JSON | 支持 | |
| ARRAY | 支持 | |
| MAP | 支持 | |
| STRUCT | 支持 | |
| 聚合类型 | ||
| HLL | 暂不支持 | HyperLogLog 类型,用于近似去重。 |
| BITMAP | 暂不支持 | BITMAP 与 HLL (HyperLogLog) 类似,常用来加速 count distinct 的去重计数使用。 |
表类型说明
- 明细表(Duplicate key table) 简单易用,表中数据不具有任何约束,相同的数据行可以重复存在。该表适用于存储不需要约束和预聚合的原始数据,例如日志等。
- 主键表 ( Primary Key table) 能力强大,具有唯一性非空约束。该表能够在支撑实时更新、部分列更新等场景的同时,保证查询性能,适用于实时查询。
- 聚合表(Aggregate table) 适用于存储预聚合后的数据,可以降低聚合查询时所需扫描和计算的数据量,极大提高聚合查询的效率。
- 更新表 (Unique Key table) 适用于实时更新的业务场景,目前已逐渐被主键表取代。
| 主键表 (Primary Key table) | 明细表 (Duplicate Key table) | 聚合表 (Aggregate table) | 更新表 (Unique Key table) | |
| 唯一约束 | 主键 PRIMARY KEY 具有唯一约束和非空约束。 | DUPLICATE KEY 不具有唯一约束。 | 聚合键 AGGREGATE KEY 具有唯一约束。 | 唯一键 UNIQUE KEY 具有唯一约束。 |
| Key 列逻辑关系 | 如果新数据的主键值与表中原数据的主键值相同,则存在唯一约束冲突,此时新数据会替代原数据。 与更新表相比,主键表增强了其底层存储引擎,已经可以取代更新表。 | Duplicate Key 不具有唯一约束,因此如果新数据的 Duplicate Key 与表中原数据相同,则新旧数据都会存在表中。 | 如果新数据与表中原数据存在唯一约束冲突,则会根据聚合键和 Value 列的聚合函数聚合新旧数据。 | 如果新数据与表中原数据存在唯一约束冲突,则新数据会替代原数据。 更新表实际可以视为聚合函数为 replace 的聚合表。 |
排序键支持的 数据类型 | 数值(包括整型、布尔)、字符串、时间日期。 | 数值(包括整型、布尔、Decimal)、字符串、时间日期。 | ||
| 分区/分桶列 | 分区列、分桶列 必须在主键中。 | 无 | 分区列、分桶列必须在聚合键中。 | 分区列、分桶列必须在唯一键中。 |
聚合类型说明
| 聚合类型 | 作用 | 适用列类型 | 典型应用场景 |
|---|---|---|---|
| SUM | 对相同维度列的值求和 | 数值类型(INT/BIGINT/DECIMAL) | 销售额、访问量等累计指标 |
| MIN | 取相同维度列的最小值 | 数值类型/日期类型 | 最低值、最早登录时间 |
| MAX | 取相同维度列的最大值 | 数值类型/日期类型 | 最高值、最近登录时间 |
| REPLACE | 后写入数据完全覆盖前值(无论是否NULL) | 任意类型 | 用户最新地址、订单最终状态 |
REPLACE_IF_NOT_NULL | 仅非NULL值覆盖前值(NULL值保留旧值) 要求字段默认值为 | 任意类型 | 渐进更新用户信息(保留已有字段) |
写入模式
AE 集成方案中,写入 StarRocks 采用了 Insert +Files 的写入模式
| 支持的来源数据源类型 |
|
支持的文件类型 |
|
| 语法示例 | |
创建 StarRocks 数据源
在 数据开发平台 - 集成 模块,您可以选择 新增 StarRocks 数据源
数据源配置参数信息
填写数据源所需的配置信息并完成连通性测试后,即可成功创建 StarRocks 数据源。
| 字段名称 | 说明 |
|---|---|
| 基本信息 | |
| *数据源名称 | 数开平台空间内唯一,必须以字母、数字、下划线组合,且不能以数字和下划线开头 |
| 备注 | 选填 |
| 数据源配置 | |
| 不区分环境 / 独立环境配置 | 二选一:「不区分环境」表示 生产环境 与 开发环境 共用一套配置,「独立环境配置」表示双环境独立配置 |
| *服务地址/IP | StarRocks 数据库所在的服务地址,多个地址请用逗号分隔 |
| *端口 | 用于访问 StarRocks 的端口 |
| *数据库名 | 已在 StarRocks 中创建的数据库名称 |
| *用户名 | 有权限访问数据库的用户名 |
| *密码 | 用户名对应的密码信息 |
| 高级配置 | 连接数据库所需的其他高级参数,可自定义填写 |
| 注:默认集群部署模式 | |
其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。
创建离线同步任务
根据上述步骤成功 创建 StarRocks 数据源 并测试连通性成功后,您可根据实际场景,配置 StarRocks 离线写入 的任务。
StarRocks 作为数据去向
数据去向选择 StarRocks,并完成以下相关参数配置:
| 字段名称 | 说明 |
|---|---|
| *数据源(类型) | 数据去向目标类型选择 StarRocks。该下拉只列出当前空间已有数据源的类型,还没有建立 StarRocks 数据源时找不到 StarRocks,需要先通过下拉底部的「+ 数据源」或「数据源管理」创建数据源 |
| *数据源(数据源) | 已在数据源管理界面注册的 StarRocks 数据源,下拉可选。 若还未建立相应数据源,可单击 数据源管理 按钮,前往创建 StarRocks 数据源。 |
| *全限定名(catalog) | default_catalog(即 StarRocks 的 internal catalog),暂不支持 external catalog |
| *全限定名(数据库) | 写入的数据库名称 |
| *写入表 | 写入的数据表,下拉可选。下拉旁有「快速建表」入口 |
| *分区字段取值 | 您可以通过 输入方式 来定义分区字段值,假设分区字段 = days
|
| *写入模式 |
|
补充说明:
| 写入模式 | 主键表 (Primary Key table) | 明细表 (Duplicate Key table) | 聚合表 (Aggregate table) | 更新表 (Unique Key table) |
|---|---|---|---|---|
| Insert into |
实际操作为 Upsert |
不支持 Update |
|
|
字段映射说明
完成数据来源和目标端配置后,需建立字段映射关系,系统将按照映射关系将源端字段中的数据自动同步至目标字段中。字段映射关系有三种配置方式:
- 方式一:自定义选择,选中源表字段,并选择目标表中目标字段
- 方式二:同名映射,系统会自动为源表和目标表中的同名字段建立映射关系
- 方式三:同行映射,系统会自动为同行字段建立映射关系
需要注意一个目标字段只能对应一个来源字段
基本信息设置
最后,您需要设置集成方案的基本信息,包括方案的名称、负责人、集成的同步速率以及备注等。
完成配置后,可以点击 「保存」 按钮完成集成方案的创建。
注:方案名称保存后不允许修改
离线同步方案挂流
挂载任务流
1.进入挂载流程
- 在集成方案详情页,点击右上角「挂载到任务流」按钮
2.选择任务流
-
从下拉菜单中选择目标任务流
-
若需新建任务流:
- 点击下拉菜单下方的「新建任务流」快捷按钮
- 或前往「开发」模块创建
-
提示:如未显示目标任务流,可点击右侧↻刷新按钮
3.创建同步节点
- 在任务流中新建「离线同步方案」类型节点
- 该节点将关联当前集成方案,节点执行时即触发对应集成方案的运行
4.完成挂载
- 点击「创建节点并挂载」完成配置
- 挂载成功后,可点击「前往任务流」立即查看挂载结果
注:挂载任务流所创建的任务节点处于 尚未发布状态,建议您前往查看任务流,并将该节点发布上线。
解除任务流挂载
如果您希望解除离线同步方案的任务流挂载,
- 若该任务流还未发布上线,您可前往该方案挂载的任务流,在 开发模式 删除该「离线同步方案」任务节点即可。
- 若该任务流已经发布上线,在 开发模式 删除该「离线同步方案」任务节点后,您需要重新发布该任务流,即同步解除了该节点在 生产环境 上的挂载。

