05分布式数据仓库 HIVE -- 分区表的操作

来源:互联网 发布:类似foxtable的软件 编辑:程序博客网 时间:2024/05/21 03:29


创建分区

create table user(

name string

)

partitioned by (dt string,b string);


添加分区

alter table user add if not exists partition(dt='20140405',b='boy');


删除分区

alter table user drop if extists partition(dt='20140405',b='girl');


导入分区数据

load data local inpath '/home/data/user.txt' overwrite into table user partition(dt='20140405');     //overwrite覆盖原始文件。非overwrite

 

load data inpath '/home/data/user.txt' overwrite into table userr partition(dt='20140405');    //剪切过去,不是复制过去。

 

insert into(overwrite) table user partition(dt='20140405')

select name,age from student

where sex = 1;


自动化分区


create table user{name} partitioned by (dt string) row format delimited fields terminated by '\t' lines terminated by '\n' stored as textfil;


show partitions user;


select * from user;


set hive.exec.dynamic.partition = true;              //在一次hive cli界面内生效。

set hive.exec.dynamic.parttion.mode = nonstrict;       //strict第一个分区需要固定

insert overwrite table user partiton(dt) select name,age as dt from student;


show partitions user;


select * from user where dt = '1';


hadoop fs -text "warehouse/user";


分区在创建,插入,查询阶段,需要保持分区的顺序一致。








0 0
原创粉丝点击