doris基本操作,02-创建复合分区表

创建复合分区表

create table table2 (
	event_day DATE,
	siteid int defautl '10',
	citycode smallint,
	username varchar(32) defautl '',
	pv bigint sum default '0'
)

aggregate key (event_day, siteid, citycode, username)
-- 按照event_day做range分区 --
paritition by range(event_day)
(
	partition p202106 values less than ('2021-07-01'),
	partition p202107 values less than ('2021-08-01'),
	partition p202108 values less than ('2021-09-01')
)
distributed by hash(siteid) buckets 10
properties("replication_num" = "3");

导入数据

数据文件table2_data内容如下,分隔符是竖线(|)
2021-06-03|9|1|jack|3
2021-06-10|10|2|rose|2
2021-07-03|11|1|jim|2
2021-07-05|12|1|grace|2
2021-07-12|13|2|tom|2
2021-08-15|14|3|bush|2
2021-08-12|15|4|helen|3

curl --location-trusted -u root:123456 -H “label:table2_20210707” -H “column_separator: |” -T table2_data http://node01:8030/api/test_db/table2/_stream_load

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

使用场景

  1. 有时间维度或者类似带有有序值的维度,可以已这类维度作为分区列。分区粒度可以根据导入频次,分区数据量等进行评估。
  2. 历史数据删除需求:如有删除历史数据的需求(比如,仅仅保留最近N天的数据)。使用复合分区,可以通过删除历史分区来达到目的。也可以通过在制定分区内发送delete语句进行数据删除。
  3. 解决数据倾斜问题:每个分区可以单独制定分桶数量。如按天分区,当每天的数据量差异很大时,可以通过制定分区的分桶数,合理划分不同分区的数据,分桶列建议选择区别度大的列。
  • 10
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值