跳到主要内容

配置 StarRocks 数据源

最近更新 2026/10/05

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 类型相同,M 的取值范围为 [1,1048576]。如果未指定 M,默认为最大值 1048576。

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值保留旧值)

要求字段默认值为 NULL(若默认值为空字符串 '',会被视为有效值覆盖)。

任意类型

渐进更新用户信息(保留已有字段)

写入模式​

AE 集成方案中,写入 StarRocks 采用了 Insert +Files 的写入模式

支持的来源数据源类型
  • 数据源:
    • HDFS
    • S3

支持的文件类型

  • Parquet
  • ORC

CSV/Avro/Json/Text 暂不支持

语法示例
INSERT INTO user_behavior_declared
SELECT * FROM FILES
(
"path" = "hdfs://<hdfs_ip>:<hdfs_port>/user/amber/user_behavior_ten_million_rows.parquet",
"format" = "parquet",
"hadoop.security.authentication" = "simple",
"username" = "<hdfs_username>",
"password" = "<hdfs_password>"
);

创建 StarRocks 数据源​

在 数据开发平台 - 集成 模块,您可以选择 新增 StarRocks 数据源

数据源配置参数信息

填写数据源所需的配置信息并完成连通性测试后,即可成功创建 StarRocks 数据源。

字段名称说明
基本信息
*数据源名称数开平台空间内唯一,必须以字母、数字、下划线组合,且不能以数字和下划线开头
备注选填
数据源配置
不区分环境 / 独立环境配置二选一:「不区分环境」表示 生产环境 与 开发环境 共用一套配置,「独立环境配置」表示双环境独立配置
*服务地址/IPStarRocks 数据库所在的服务地址,多个地址请用逗号分隔
*端口用于访问 StarRocks 的端口
*数据库名已在 StarRocks 中创建的数据库名称
*用户名有权限访问数据库的用户名
*密码用户名对应的密码信息
高级配置连接数据库所需的其他高级参数,可自定义填写
注:默认集群部署模式

其中参数名称前带 * 的为必填参数,名称前未带 * 的为可选填参数。

创建离线同步任务​

根据上述步骤成功 创建 StarRocks 数据源 并测试连通性成功后,您可根据实际场景,配置 StarRocks 离线写入 的任务。

StarRocks 作为数据去向​

数据去向选择 StarRocks,并完成以下相关参数配置:

字段名称说明
*数据源(类型)数据去向目标类型选择 StarRocks。该下拉只列出当前空间已有数据源的类型,还没有建立 StarRocks 数据源时找不到 StarRocks,需要先通过下拉底部的「+ 数据源」或「数据源管理」创建数据源
*数据源(数据源)已在数据源管理界面注册的 StarRocks 数据源,下拉可选。
若还未建立相应数据源,可单击 数据源管理 按钮,前往创建 StarRocks 数据源。
*全限定名(catalog)default_catalog(即 StarRocks 的 internal catalog),暂不支持 external catalog
*全限定名(数据库)写入的数据库名称
*写入表写入的数据表,下拉可选。下拉旁有「快速建表」入口
*分区字段取值

您可以通过 输入方式 来定义分区字段值,假设分区字段 = days

  • “常量”为自定义值:days = 2025-01-01
  • “参数”为空间参数:days =${bd},则执行时会取基准日期的值
  • “字段”为来源表字段:days = 「dt1」
*写入模式
  • Insert into 插入新数据
  • Overwrite 整表覆盖

补充说明:

写入模式主键表 (Primary Key table)明细表 (Duplicate Key table)聚合表 (Aggregate table)更新表 (Unique Key table)
Insert into
  • 支持

实际操作为 Upsert

  • 支持

不支持 Update

  • 支持
  • 支持

字段映射说明​

完成数据来源和目标端配置后,需建立字段映射关系,系统将按照映射关系将源端字段中的数据自动同步至目标字段中。字段映射关系有三种配置方式:

  • 方式一:自定义选择,选中源表字段,并选择目标表中目标字段
  • 方式二:同名映射,系统会自动为源表和目标表中的同名字段建立映射关系
  • 方式三:同行映射,系统会自动为同行字段建立映射关系

需要注意一个目标字段只能对应一个来源字段

基本信息设置​

最后,您需要设置集成方案的基本信息,包括方案的名称、负责人、集成的同步速率以及备注等。

完成配置后,可以点击 「保存」 按钮完成集成方案的创建。

注:方案名称保存后不允许修改

离线同步方案挂流​

挂载任务流​

1.进入挂载流程

  • 在集成方案详情页,点击右上角「挂载到任务流」按钮

2.选择任务流

  • 从下拉菜单中选择目标任务流

  • 若需新建任务流:

    • 点击下拉菜单下方的「新建任务流」快捷按钮
    • 或前往「开发」模块创建
  • 提示:如未显示目标任务流,可点击右侧↻刷新按钮

3.创建同步节点

  • 在任务流中新建「离线同步方案」类型节点
  • 该节点将关联当前集成方案,节点执行时即触发对应集成方案的运行

4.完成挂载

  • 点击「创建节点并挂载」完成配置
  • 挂载成功后,可点击「前往任务流」立即查看挂载结果
提示

注:挂载任务流所创建的任务节点处于 尚未发布状态,建议您前往查看任务流,并将该节点发布上线。

解除任务流挂载​

如果您希望解除离线同步方案的任务流挂载,

  • 若该任务流还未发布上线,您可前往该方案挂载的任务流,在 开发模式 删除该「离线同步方案」任务节点即可。
  • 若该任务流已经发布上线,在 开发模式 删除该「离线同步方案」任务节点后,您需要重新发布该任务流,即同步解除了该节点在 生产环境 上的挂载。
这篇文档对你有帮助吗?