配置StarRocks对接Paimon数据源
通过连接MRS Paimon,可以实现利用Paimon作为统一的实时数据湖底座,同时复用StarRocks强大的OLAP分析能力,从而在降低存储成本的同时,实现从数据产生到价值洞察的秒级闭环。
前提条件
- 为了确保网络连通,MRS集群必须与StarRocks集群的VPC、子网保持一致,且将StarRocks集群的所有节点IP加入到MRS集群的安全组中。
MRS集群与StarRocks集群的版本配套关系如表1所示。
- 已在MRS集群中通过Hive组件准备了待读取的Paimon表数据。
使用限制
- 本章节操作仅StarRocks 3.3.18及之后版本集群支持。
- 仅支持对接一个MRS集群。
- 为保证能正常访问MRS Paimon内的数据,StarRocks集群必须能够访问Paimon集群的存储系统和元数据服务。目前StarRocks支持以下存储系统和元数据服务:
- MRS分布式文件系统(HDFS)或对象存储服务OBS。
- 元数据服务仅支持Hive MetaStore。
在StarRocks对接MRS Paimon的场景中,表2中的查询操作已进行了质量加固和充分测试,为保证您的业务稳定行,其他查询场景,请进行充分测试后再使用。表2 StarRocks对接MRS Paimon支持的查询操作 类别
操作
适用场景
主键表
- 固定分桶
- 动态分桶
- 固定分桶适用于数据量预测准确的存量同步。
- 动态分桶适用于业务增长不确定,需要自动扩容的场景。表2
Deletion Vector
适用于高频更新场景。通过标记删除而非物理合并来提升读取性能,解决频繁更新导致合并压力过大的问题。
append表
- 分桶
- 非分桶
非分桶模式(Unaware Bucket)能提供极高的写入吞吐量,适合大规模埋点采集。
文件格式
Parquet
典型的列式存储。适用于绝大多数 OLAP 分析场景,压缩率高,扫描快。
Paimon系统表
支持查询Paimon所有的系统表
用于进行监控与运维。通过查询系统表(如snapshots/files),运维人员可以查看数据写入历史、文件碎片情况,排查性能瓶颈。
Schema Evolution
支持Paimon表的Schema Evolution
当业务增加新字段时,可以直接执行ADD COLUMN而不需要像传统离线表那样删表重建,且能读取历史数据。
元数据管理
Hive MetaStore
StarRocks支持的元数据服务。
- Paimon Catalog仅支持查询Paimon表数据,不支持查询其他类型的表数据,例如Hive、Hudi表数据。
- 在StarRocks集群创建Paimon Catalog后,如果对接的MRS Paimon表增加、删除或修改了字段,则需执行以下操作刷新Catalog以获取最新的Schema后再执行查询操作:
refresh catalog catalog_name;
步骤一:创建Paimon连接
- 登录表格存储服务控制台。
- 在集群管理界面,选择目标集群进入集群详情页面。
- 选择“连接管理 > 新建连接”,弹出新建连接页面,创建MRS Paimon连接。
- 新建连接类型:
- 认证类型选择SIMPLE,OBS按钮关闭状态。
- 认证类型选择KERBEROS,OBS按钮关闭状态。
- 认证类型选择SIMPLE,OBS按钮开启状态。
- 认证类型选择KERBEROS,OBS按钮开启状态。
表3 参数说明 参数
描述
连接名称
根据连接的数据源类型,用户可以自定义连接名。
说明:必须以字母开头,由字母、数字、中划线组成,不能包含其他的特殊字符,并且长度为4~64个字符。
连接器
StarRocks支持的外部数据目录组件,目前支持可选:Hive,即仅支持读取MRS Hive创建的Paimon表数据。
Hadoop类型
StarRocks支持的Hadoop组件,目前支持的可选:MRS。
集群名称
被访问的MRS集群名称,即待对接的MRS集群。
StarRocks只能对接一个KERBEROS集群中的一个用户。
Manager IP
MRS Manager的浮动IP地址,选择连接的集群后,IP地址会自动填充。
认证类型
MRS集群鉴权类型,安全集群可选“KERBEROS”,非安全集群可选“SIMPLE”。选择连接的集群后,安全类型会自动填充。
KERBEROS类型的连接只能创建一个。
连接器版本
MRS集群的数据源组件的版本,HIVE支持3版本,可选:3.X。
用户名
MRS集群的用户名,且此用户必须为高权限,可以访问Hive、HDFS的底层数据。如果您想创建新用户,请参见创建MRS集群用户。
密码
MRS集群用户对应的密码。
OBS支持
是否开启OBS支持。
- 开启:当前创建的Catalog连接的数据表在OBS上。
- 关闭:当前创建的Catalog连接的数据表在HDFS。
- 配置好参数后,单击“测试”。如果测试失败请检查用户名和密码是否正确。
- 测试完成后,单击“确定”按钮,连接列表页面会出现一条新的连接记录。
步骤二:使用SQL命令创建Catalog
- 使用SSH登录工具,通过弹性IP登录到Linux弹性云服务器。
具体登录操作步骤请参见弹性云服务器《用户指南》中的“ SSH密码方式登录”。
- 访问StarRocks集群,参见使用MySQL客户端连接StarRocks普通集群。
./mysql -uadmin -ppassword -h集群内网IP地址 -P9030
- 创建Paimon Catalog。
- Catalog连接的Paimon数据存储在MRS HDFS中
CREATE EXTERNAL CATALOG paimon_catalog PROPERTIES ( "type" = "paimon", "paimon.catalog.type" = "hive", "paimon.catalog.warehouse" = "hdfs://hacluster/user/hive/paimon", "hive.metastore.uris" = "thrift://172.16.11.106:9083,thrift://172.16.11.15:9083" ); - Catalog连接的Paimon数据存储在OBS中
CREATE EXTERNAL CATALOG paimon_obs_catalog PROPERTIES ( "type" = "paimon", "paimon.catalog.type" = "hive", "paimon.catalog.warehouse" = "obs://OBS桶名/user/hive/paimon", "hive.metastore.uris" = "thrift://172.16.11.106:9083,thrift://172.16.11.15:9083", "fs.obs.access.key" = "xxx", "fs.obs.secret.key" = "xxx", "fs.obs.endpoint" = "xxx", "fs.obs.region" = "xxx" );
表4 参数说明 参数
参数说明
type
对接的外部数据类型,需指定为“paimon”。
paimon.catalog.type
用于指定Paimon Catalog的元数据类型,即“hive”。
paimon.catalog.warehouse
用于指定MRS Paimon数据所在的目录。
hive.metastore.uris
Hive元数据URI,可在MRS Hive客户端的“客户端安装目录/Hive/config/hive-site.xml”配置文件中查看。
fs.obs.access.key
访问OBS桶的AK,获取方式请参见的获取访问密钥(AK/SK)章节。
fs.obs.secret.key
访问OBS桶的SK,获取方式请参见的获取访问密钥(AK/SK)章节。
fs.obs.endpoint
OBS桶的Endpoint,获取方式请参见的获取终端节点章节。
fs.obs.region
OBS桶所在的Region。
相关参数描述以及参数值获取方法。- 以root用户登录MRS客户端所在节点(Master1节点)。
- 进入client目录下,显示出MRS的全部组件,Hive组件中包含了“hive-site.xml”配置文件。
cd /opt/Bigdata/client/
- 进入组件中的配置文件查看参数。查看Hive组件中的“hive-site.xml”配置文件,查找相关参数并获取对应的参数值。
cat /opt/Bigdata/client/Hive/config/hive-site.xml
- Catalog连接的Paimon数据存储在MRS HDFS中
步骤三:查询数据映射表
- 查看Catalogs,以查看Paimon HDFS数据表为例:
show catalogs;

- 执行以下命令查询Catalog中的数据库:
show databases from catalog_name;

- 执行以下命令切换到指定的Catalog中:
set catalog catalog_name;
- 执行以下命令使用数据库:
use db_name;
- 执行以下命令查看数据库中的表:
show tables;
- 执行以下命令查询目标表的数据:
select * from table_name limit 10;