33-大数据-hive 分区表

create external table if not exists t2 (id int) partitioned by (city string) row format delimited fields terminated by ‘,’ location ‘/tmp/xxq/t2/’

这里的location为 HDFS上的目录,目录不存在,创建外部表时会自动创建该目录

某张表是分区表。每个分区的定义,就表现为了这张表的数据存储目录下的一个子目录。分区表。数据文件一定要存储在某个分区中,而不能直接存储在表中。

partition by 中的列是表中正式的列,称为分区列。但是数据文件并不包含这些列的值,因为他们源于目录名

对数据进行分区,最重要的原因是为了更快的查询

在where子句中增加谓词按照分区值进行过滤时,这些谓词被称为分区过滤器

如果表中的数据及分区个数很大,这些包含所有分区的查询可能会触发一个巨大的MapReduce任务。一个建议是将hive属性 hive.mapred.mode设置为strict 模式,这样如果对分区表进行查询where子句没有加分区过滤的话,将会禁止这个任务

1
、添加分区
alter table t2 add partition(city=‘beijing’);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值