StarRocks简单使用

文章讲述了将数据从Clickhouse迁移至StarRocks的过程,选择了使用Flink进行Kafka数据同步。数据模型选择了适合日志数据的Duplicate模型,采用动态分区按天进行数据组织。建表时设置了主键和分布式策略,并利用mybatis的多数据源框架配置查询。此外,还提到了使用SQLyog作为StarRocks的可视化工具。
摘要由CSDN通过智能技术生成

 从clickhouse迁移到StarRocks,研究讨论后,决定使用flink进行kafka同步到StarRocks

1、数据模型

StarRocks 的数据模型主要分为3类:

  • Aggregate,聚合模型
  • Unique,更新模型
  • Duplicate,明细模型
  • Primary, 主键模型

因数据都是日志类数据,帮选择了Duplicate

2、分区

StarRocks可以选择固定分区和动态分区,考虑到数据增长,故选按天进行动态分区

3、建表

CREATE TABLE IF NOT EXISTS monitor_log (
	`monitor_date` VARCHAR(100) COMMENT "日期",
	`employee_code` VARCHAR(100) COMMENT "员工工号",
	`host_name` VARCHAR(100) COMMENT "主机名称",
	`id` BIGINT(20) NOT NULL COMMENT "",
	`computer_model` VARCHAR(200) COMMENT "电脑类型",
	`cpu_num` INT,
	`create_time` DATETIME COMMENT "日志时间"
)
DUPLICATE KEY(`monitor_date`, `employee_code`, `host_name`)
PARTITION BY RANGE(`create_time`) ( )
DISTRIBUTED BY HASH(`create_time`) BUCKETS 8
PROPERTIES (
    "dynamic_partition.enable" = "true",
    "dynamic_partition.time_unit" = "DAY",
    "dynamic_partition.end" = "3",
    "dynamic_partition.prefix" = "ml",
    "dynamic_partition.buckets" = "8",
    "dynamic_partition.history_partition_num" = "0"
)

4、使用mybatis的多数据源框架,配置多数据源进行查询

引包:

 <dependency>
            <groupId>com.baomidou</groupId>
            <artifactId>dynamic-datasource-spring-boot-starter</artifactId>
            <version>3.5.1</version>
</dependency>

配置:

spring.datasource.dynamic.datasource.starrocks.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.dynamic.datasource.starrocks.url=jdbc:mysql://127.0.0.1:9030/test?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&serverTimezone=Asia/Shanghai&autoReconnect=true&allowMultiQueries=true&useSSL=false
spring.datasource.dynamic.datasource.starrocks.username=root
spring.datasource.dynamic.datasource.starrocks.password=1234

在查询的方法前配置注解

@DS("starrocks")

4、写同步数据的flink sql,配置source和sink

连接StarRocks可视化工具:SQLyog

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值