常用的分区命令
建立分区表 (demo)
CREATE EXTERNAL TABLE partition_test
(
id int,
name string
)
PARTITIONED BY (date
string,hour
int)
row format delimited fields terminated by ‘,’
location ‘/xunlian/zgh/partition_test’
添加分区
1、手动
ALTER TABLE partition_test ADD PARTITION (date
= ‘20201112’ hour
=‘20’) location ‘/xunlian/zgh/partition_test/20201112/20’;
这里注意 分区字段需要加上反引号 在这里报错耽误时间了
-2、自动添加分区
msck repair table tableName (前提是标准分区)
查看分区的相关信息
desc formatted liangtai.partition_test partition (date
=20201112,hour
=20)
分区的应用场景
1、将分区表的数据加入到另外一张分区表中
1、create table tableName like 那张分区表
2、set hive.exec.dynamic.partition.mode=nonstrict; 开启动态分区
insert overwrite table B PARTITION (inc_day) select * from 那张分区表;