hive的静态分区

hive的静态分区

分区的目的
就是为了提高索引的效率
静态分区
就是在建表式创建一个分区字段,在加载数据时指定这个分区字段就能创建不同的目录!

1.1 静态分区

步骤

先创建一个分区表,设定分区字段,
将数据导入到这个分区表中,
再增加一个分区表
再将新的数据导入进去
依次类推提高索引效率

若分区的值是确定的,那么称为静态分区
新增分区或者是加载分区数据时,已经指定分区名。

create table if not exists day_part1(
name  string,
course  string,
grade  int
)
partitioned by(year int,month int,day int)
row format delimited fields terminated by ' ';

加载数据指定分区

load data local inpath '/root/student.txt' into table day_part1 partition(year=2020,month=04,day=25);

在窗口查询结果,会在表的最后面加上年月日的标签

0: jdbc:hive2://doit01:10000> select * from day_part1 a;
+---------+-----------+----------+---------+----------+--------+
| a.name  | a.course  | a.grade  | a.year  | a.month  | a.day  |
+---------+-----------+----------+---------+----------+--------+
| 张三      | 语文        | 81       | 2020    | 4        | 25     |
| 张三      | 数学        | 75       | 2020    | 4        | 25     |
| 李四      | 语文        | 76       | 2020    | 4        | 25     |
| 李四      | 数学        | 90       | 2020    | 4        | 25     |
| 王五      | 语文        | 81       | 2020    | 4        | 25     |
| 王五      | 数学        | 100      | 2020    | 4        | 25     |
| 王五      | 英语        | 90       | 2020    | 4        | 25     |
+---------+-----------+----------+---------+----------+--------+

新增这个表的分区 指定分区名增加两个一模一样的表

alter table day_part1 add partition(year=2020,month=4,day=26);
alter table day_part1 add partition(year=2020,month=4,day=27);

会在50070这个端口出现分区的文件夹
年分区
在这里插入图片描述
月分区
在这里插入图片描述
日分区
在这里插入图片描述
当我在索引这张表的时候,就成了全局索引,想索引某天的数据,就添加过滤就可以

0: jdbc:hive2://doit01:10000> select * from day_part1 a;
+---------+-----------+----------+---------+----------+--------+
| a.name  | a.course  | a.grade  | a.year  | a.month  | a.day  |
+---------+-----------+----------+---------+----------+--------+
| 张三      | 语文        | 81       | 2020    | 4        | 25     |
| 张三      | 数学        | 75       | 2020    | 4        | 25     |
| 李四      | 语文        | 76       | 2020    | 4        | 25     |
| 李四      | 数学        | 90       | 2020    | 4        | 25     |
| 王五      | 语文        | 81       | 2020    | 4        | 25     |
| 王五      | 数学        | 100      | 2020    | 4        | 25     |
| 王五      | 英语        | 90       | 2020    | 4        | 25     |
| 张三      | 语文        | 81       | 2020    | 4        | 26     |
| 张三      | 数学        | 75       | 2020    | 4        | 26     |
| 李四      | 语文        | 76       | 2020    | 4        | 26     |
| 李四      | 数学        | 90       | 2020    | 4        | 26     |
| 王五      | 语文        | 81       | 2020    | 4        | 26     |
| 王五      | 数学        | 100      | 2020    | 4        | 26     |
| 王五      | 英语        | 90       | 2020    | 4        | 26     |
| 张三      | 语文        | 81       | 2020    | 4        | 27     |
| 张三      | 数学        | 75       | 2020    | 4        | 27     |
| 李四      | 语文        | 76       | 2020    | 4        | 27     |
| 李四      | 数学        | 90       | 2020    | 4        | 27     |
| 王五      | 语文        | 81       | 2020    | 4        | 27     |
| 王五      | 数学        | 100      | 2020    | 4        | 27     |
| 王五      | 英语        | 90       | 2020    | 4        | 27     |
+---------+-----------+----------+---------+----------+--------+
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值