doris 动态分区
创始人
2024-03-01 05:54:39
0
添加分区
ALTER TABLE v2x_olap_database.government_car
ADD PARTITION p20221203 VALUES LESS THAN ("2022-12-04");

动态分区表不能添加分区,需要转为手动分区表
在这里插入图片描述

查看分区
show paritions from <表名>
删除分区
alter table <表名>
drop partition <分区名>

https://doris.apache.org/zh-CN/docs/advanced/partition/dynamic-partition

CREATE TABLE IF NOT EXISTS v2x_olap_database.government_car
(`temId` VARCHAR(20) COMMENT "mac",`tehNo` VARCHAR(20) COMMENT "手机号",`speed` FLOAT COMMENT "速度",`dayMileage` FLOAT COMMENT "里程数",`gpsTime` BIGINT COMMENT "时间戳",`status` VARCHAR(10) COMMENT "状态",`direction` INT COMMENT "方向",`k1` INT COMMENT "洒水状态",`longitude` DOUBLE COMMENT "经度",`latitude` DOUBLE COMMENT "纬度",`eventTime` VARCHAR(30) COMMENT "时间",`dt` date COMMENT "日期"
)
PARTITION BY RANGE(`dt`)()
DISTRIBUTED BY HASH(`temId`) BUCKETS 10
PROPERTIES ("replication_allocation" = "tag.location.default: 3", -- 设置副本数"dynamic_partition.enable" = "true","dynamic_partition.time_unit" = "DAY","dynamic_partition.end" = "3","dynamic_partition.prefix" = "p",  -- p20221129"dynamic_partition.buckets" = "10"	
);
  • dynamic_partition.enable: 是否开启动态分区特性,可指定为 truefalse。默认为 true
  • dynamic_partition.time_unit: 动态分区调度的单位,可指定为 DAY WEEK MONTH,当指定为 DAY时,动态创建的分区名后缀格式为yyyyMMdd,例如- - 20200325。当指定为 WEEK 时,动态创建的分区名后缀格式为yyyy_ww即当前日期属于这一年的第几周。当指定为 MONTH 时,动态创建的分区名后缀格式为 yyyyMM,例如 202003
  • dynamic_partition.start: 动态分区的开始时间, 以当天为基准,超过该时间范围的分区将会被删除。如果不填写,则默认为Integer.MIN_VALUE-2147483648
  • dynamic_partition.end: 动态分区的结束时间, 以当天为基准,会提前创建N个单位的分区范围。
  • dynamic_partition.prefix: 动态创建的分区名前缀。
  • dynamic_partition.buckets: 动态创建的分区所对应的分桶数量。

在这里插入图片描述

在这里插入图片描述
dynamic_partition.start 不指定不删除历史分区数据
dynamic_partition.end 通过指定预先今天以后的3个分区
在这里插入图片描述

历史分区

设置历史分区

alter table <表名> set ("dynamic_partition.create_history_partition" = "true")

create_history_partitiontrue,即开启创建历史分区功能时,Doris 会根据 dynamic_partition.startdynamic_partition.history_partition_num 来决定创建历史分区的个数。

假设需要创建的历史分区数量为 expect_create_partition_num,根据不同的设置具体数量如下:

  • create_history_partition = true
    1)dynamic_partition.history_partition_num 未设置,即 -1;expect_create_partition_num = end - start;
    2)dynamic_partition.history_partition_num 已设置 expect_create_partition_num = end - max(start, -histoty_partition_num);
  • create_history_partition = false 不会创建历史分区,expect_create_partition_num = end - 0;
    expect_create_partition_num 大于 max_dynamic_partition_num(默认500)时,禁止创建过多分区。

注意:dynamic_partition.start 与 `expect_create_partition_num``如果未设置,则无法创建历史分区

Provide start or history_partition_num property when creating history partition

在这里插入图片描述
在这里插入图片描述

手动分区表与动态分区表切换

手动转自动
alter table <表名> set ("dynamic_partition.enable" = "true")

注意: 如果设置了 dynamic_partition.start ,则分区范围在偏移量之前的历史分区将被删除

自动转手动
alter table <表名> set ("dynamic_partition.enable" = "false")

相关内容

热门资讯

监控摄像头接入GB28181平... 流程简介将监控摄像头的视频在网站和APP中直播,要解决的几个问题是:1&...
Windows10添加群晖磁盘... 在使用群晖NAS时,我们需要通过本地映射的方式把NAS映射成本地的一块磁盘使用。 通过...
protocol buffer... 目录 目录 什么是protocol buffer 1.protobuf 1.1安装  1.2使用...
在Word、WPS中插入AxM... 引言 我最近需要写一些文章,在排版时发现AxMath插入的公式竟然会导致行间距异常&#...
Fluent中创建监测点 1 概述某些仿真问题,需要创建监测点,用于获取空间定点的数据࿰...
educoder数据结构与算法...                                                   ...
MySQL下载和安装(Wind... 前言:刚换了一台电脑,里面所有东西都需要重新配置,习惯了所...
MFC文件操作  MFC提供了一个文件操作的基类CFile,这个类提供了一个没有缓存的二进制格式的磁盘...
有效的括号 一、题目 给定一个只包括 '(',')','{','}'...
【Ctfer训练计划】——(三... 作者名:Demo不是emo  主页面链接:主页传送门 创作初心ÿ...