ApacheDoris动态分区使⽤⽰例
Apache Doris 动态分区使⽤⽰例
⽬录
⼀、Doris分区概述
在某些使⽤场景下,⽤户会将表按照天进⾏分区划分,每天定时执⾏例⾏任务,这时需要使⽤⽅⼿动管理分区,否则可能由于使⽤⽅没有创建分区导致数据导⼊失败,这给使⽤⽅带来了额外的维护成本。
通过动态分区功能,⽤户可以在建表时设定动态分区的规则。FE 会启动⼀个后台线程,根据⽤户指定的规则创建或删除分区。⽤户也可以在运⾏时对现有规则进⾏变更。动态分区数默认最⼤500(参数max_dynamic_partition_num (fe.conf))
Doris分区官⽅⼿册:
⼀、动态分区创建⽰例
DROP TABLE IF EXISTS  test_dynamic_partition;
CREATE TABLE test_dynamic_partition (
partition_key int(11) NOT NULL COMMENT '分区键',
app_code varchar(64) NOT NULL COMMENT '应⽤编码',
app_name varchar(255) NULL COMMENT '应⽤名称'
)
ENGINE=OLAP
DUPLICATE KEY(partition_key,app_code,app_name)
COMMENT '动态分区⽰例'
PARTITION BY RANGE(partition_key) ()
DISTRIBUTED BY HASH(partition_key)
PROPERTIES
(
"ate_history_partition" = "true",
"dynamic_partition.history_partition_num" = "3",
"able" = "true",
"dynamic_partition.time_unit" = "DAY",
"dynamic_partition.start" = "-400",
"d" = "3",
"dynamic_partition.prefix" = "p",
"dynamic_partition.buckets" = "1"
);
⼆、分区信息查看和修改
#查看动态分区表调度情况
SHOW DYNAMIC PARTITION TABLES;
#展⽰指定db下指定表的所有⾮临时分区信息doris
SHOW PARTITIONS FROM test_dynamic_partition;
#修改分区参数
ALTER TABLE test_dynamic_partition
SET ("d" = "4");
#清空表 tbl 的 p2******* 和 p2******* 分区
TRUNCATE TABLE tbl PARTITION(p2*******, p2*******);
#修改单分区表的实际副本数量(只限单分区表):
ALTER TABLE _table
SET ("replication_num" = "3");
#修改表的所有分区:
ALTER TABLE _table
MODIFY PARTITION(*)
SET ("replication_num" = "3");
ALTER TABLE _table
MODIFY PARTITION (*) SET("storage_medium"="HDD");
#修改表的动态分区属性(⽀持未添加动态分区属性的表添加动态分区属性)
ALTER TABLE _table set ("able" = "false");
#如果需要在未添加动态分区属性的表中添加动态分区属性,则需要指定所有的动态分区属性ALTER TABLE _table set (
"able" = "true",
"dynamic_partition.time_unit" = "DAY",
"d" = "3",
"dynamic_partition.prefix" = "p",
"dynamic_partition.buckets" = "32"
);

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。