0
点赞
收藏
分享

微信扫一扫

12.1.2、Doris__基本使用、doris的基本命令、建表概念、语句、建表语法、建表方式(引擎存储规则)、导入数据的方式、支持的数据类型、rollup索引

沉浸在自己的世界里 2022-04-05 阅读 9
kafka架构

1、Doris使用(类似mysql的操作命令)

1)自带root用户

2)创建数据库并赋予权限(将test_db数据库权限赋予普通用户test)

2、Doris建表–基本概念

在doris中,数据都以表(table)的形式进行逻辑上的描述(行与列)
在这里插入图片描述

在这里插入图片描述

3、建表语法(create table)

类似mysql,字段的类型也是类似mysql很多

4、建表方式(引擎存储规则)

Doris支持单分区和符合分区两种建表分区
单分区即数据不进行分区,数据只做HASH分布,也就是分桶 Tablet
在复合分区中:

在这里插入图片描述

同一分区的不同Tablet物理上是分开存放的,数据最小的存储就是以Tablet存放的

eg:建立表table1,分桶列为siteid,桶数为10
create table table1(
siteid int default '10'	//网站,给定默认值10
citycode smallint,		//城市
username varchar(32)default ' '	//用户
pv bigint sum default 0			//浏览次数
)aggregate key(siteid,citycode,username)	//key,因为pv字段使用了sum聚合函数,当这里的key一样时,pv数据相加(预聚合)
distributed by HASH(siteid) BUCKETS 10
properties("replication_num" = "1";	//副本数,默认为3,可以设置

导入数据:5种

eg:建表-复合分区,建立表table2,分区分桶
create table table2(
event_day DATE,
siteid int default '10'	//网站,给定默认值10
citycode smallint,		//城市
username varchar(32)default ' '	//用户
pv bigint sum default 0			//浏览次数
)aggregate key(event_day,siteid,citycode,username)	//key,因为pv字段使用了sum聚合函数,当这里的key一样时,pv数据相加(预聚合)
partition 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" = "1";	//副本数,默认为3,可以设置

5、数据类型

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

6、rollup(类似表的索引)

Rollup可以理解为表的一个物化索引结构。Rollup可以调整列的顺序以增加前缀索引的命中率,也可以减少key列以增加数据的聚合度
(1)以session_data为例添加Rollup
desc session_data all;
(2)比如我经常需要看某个城市的ip数,那么可以建立一个只有ip和city的rollup
alter table session_data add rollup rollup_city_ip(city,ip);
(3)创建完毕后,再次查看表结构
desc session_data all;

举报

相关推荐

0 条评论