当前位置: 首页 > news >正文

StarRocks操作笔记

最近在使用starRocks,记录一些临时的操作技巧,防止遗忘。

1. 创建表

CREATE TABLE IF NOT EXISTS ODS.T_TEST(
pk_day date,
pool_address string,
code string comment '唯一主键',
test1 string,
test2 string,
test3 string,
pk_year varchar(4),
pk_month varchar(7)
)
primary KEY(pk_day,pool_address,code)
PARTITION BY range(pk_day)
(
PARTITION p20230916 VALUES LESS THAN ("2023-09-16"),
PARTITION p20230917 VALUES LESS THAN ("2023-09-17"),
PARTITION p20230918 VALUES LESS THAN ("2023-09-18"),
PARTITION p20230919 VALUES LESS THAN ("2023-09-19"),
PARTITION p20230920 VALUES LESS THAN ("2023-09-20"),
PARTITION p20230921 VALUES LESS THAN ("2023-09-21")
)DISTRIBUTED BY HASH(pool_address)
PROPERTIES(
"dynamic_partition.enable" = "true",
"dynamic_partition.time_unit" = "DAY",
"dynamic_partition.start" = "-3",
"dynamic_partition.end" = "3",
"dynamic_partition.prefix" = "p",
"dynamic_partition.time_zone" = "UTC",
"dynamic_partition.buckets" = "4"
);

指定了动态分区表,主键的三个字段必须放到前面3个。
PARTITION BY range(pk_day)中间必须创建几个分区。
而且根据日期分区的字段必须设置为Date类型,即使该字段是"2023-09-20"这样的字符串类型。

2. rotineLoader

2.1 创建脚本导入

数据来源Kafka:

# 创建导入脚本
CREATE ROUTINE LOAD ODS.TEST ON TEST
WHERE pk_day is not null and pk_day >= '2023-09-18'
PROPERTIES
("desired_concurrent_number"="12","format" ="json","jsonpaths" ="[\"$.pk_day\", \"$.pool_address\", \"$.code\", \"$.test1\", \"$.test2\", \"$.test3\", \"$.pk_year\",\"$.pk_month\"]")FROM KAFKA
("kafka_broker_list" ="localhost:9092","kafka_topic" = "ods_test","property.kafka_default_offsets" = "OFFSET_BEGINNING","property.group.id" = "g1"
);# 停止脚本
STOP ROUTINE LOAD FOR ODS.TEST;

如果该脚本需要修改,先停止脚本。
如果json字段和表的字段一致,则可以不使用jsonpaths属性一个个字段解析出来。
可以在on后面加筛选条件过滤部分数据。

2.2 其他命令

# 查看在运行的脚本
show routine load;# 查看分区
show partitions from ODS.TEST;# 手工添加分区(必须先停止设置动态分区,然后才能添加)
ALTER TABLE ODS.TEST set("dynamic_partition.enable" = "false");
ALTER TABLE ODS.TEST ADD PARTITION p20230917 VALUES LESS THAN ("2023-09-17") DISTRIBUTED BY HASH(pool_address);
ALTER TABLE ODS.TEST set("dynamic_partition.enable" = "true");
http://www.lryc.cn/news/174520.html

相关文章:

  • Linux的ls -ld命令产生的信息怎么看
  • Linux- 内存映射文件(Memory-Mapped File)
  • 李航老师《统计学习方法》第五章阅读笔记
  • iOS16新特性:实时活动-在锁屏界面实时更新APP消息 | 京东云技术团队
  • 使用 Elasticsearch、OpenAI 和 LangChain 进行语义搜索
  • NIFI集群_队列Queue中数据无法清空_清除队列数据报错_无法删除queue_解决_集群中机器交替重启删除---大数据之Nifi工作笔记0061
  • leetcode20. 有效的括号 [简单题]
  • ubuntu20.04下源码编译colmap
  • Jumpserver堡垒机
  • 第一百五十三回 如何实现滑动窗口
  • Oracle 12c自动化管理特性的新进展:自动备份、自动恢复和自动维护功能的优势|oracle 12c相对oralce 11g的新特性(3)
  • Redis——Jedis中hash类型使用
  • 肖sir__项目实战讲解__004
  • 数据库数据恢复-ORACLE常见故障有哪些?恢复数据的可能性高吗?
  • 合规性管理如何帮助产品团队按时交付?
  • 从平均数到排名算法
  • 如何使用ESP8266微控制器和Nextion显示器为Home Assistant展示温度传感器和互联网天气预报
  • 阻塞队列-生产者消费者模型
  • Vector Art - 矢量艺术
  • ruoyi-nbcio增加flowable流程待办消息的提醒,并提供右上角的红字数字提醒(一)
  • 数据结构:二叉树的基本概念
  • 利用Socks5代理IP加强跨界电商爬虫的网络安全
  • Spring学习笔记6 Bean的实例化方式
  • 大二毕设.3-网盘系统-用户模块讲解
  • (Vue2)智慧商城项目
  • Nginx实战
  • day-57 代码随想录算法训练营(19)动态规划 part 17
  • 在项目中,关于前端实现数据可视化的技术选择
  • DT 卡通材质学习 一
  • 【游戏引擎架构】6.2 资源管理器