码迷,mamicode.com
首页 > 其他好文 > 详细

Hive分区

时间:2017-06-14 22:25:30      阅读:185      评论:0      收藏:0      [点我收藏+]

标签:not   hive   key   .text   lte   apache   create   org   form   

1、查看分区

Hive> show partitions  table_name;

dt=20101101

dt=20101102

....

Time taken: 0.140 seconds, Fetched: 10 row(s)

2、  hive>desc  tb  partition(dt=20170612) 

3.hive>  desc extended  tb  partition(dt=20170612) 

可以用这个命令查看有时候建立分区是在特定指定location的。

4、建立分区表

CREATE EXTERNAL TABLE seed_my (col MAP<STRING, STRING>) partitioned by (dt string) ROW FORMAT DELIMITED FIELDS TERMINATED BY ‘,‘  COLLECTION ITEMS TERMINATED BY ‘\t‘ MAP KEYS TERMINATED BY ‘|‘ STORED AS INPUTFORMAT "org.apache.hadoop.mapred.TextInputFormat" OUTPUTFORMAT "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat" LOCATION ‘s3://up/seed/myhome‘; 

 

5、添加分区

ALTER TABLE table_name ADD PARTITION (dt= ‘$dt‘) location ‘$dt‘;

ALTER TABLE table_name ADD IF NOT EXISTS PARTITION (dt=‘$dt‘) LOCATION ‘/sss/$dt‘; //一次添加一个分区

ALTER TABLE table_name ADD PARTITION (dt=‘$dt‘, hour=‘$hour‘) location ‘/path/$dt/$hour  PARTITION (dt=‘$dt‘,  hour=‘$hour‘) location ‘/path/$dt/$hour‘;  //一次添加多个分区

 

6\删除分区

ALTER TABLE table_name DROP IF EXISTS PARTITION (dt=‘dt‘);
ALTER TABLE table_name DROP IF EXISTS PARTITION (dt=‘dt‘, hour=‘$hour‘);


修改分区
ALTER TABLE table_name PARTITION (dt=‘$dt‘) SET LOCATION "$path";
ALTER TABLE table_name PARTITION (dt=‘$dt‘) RENAME TO PARTITION (dt=‘$dt_yyyymmdd’);

 
 

Hive分区

标签:not   hive   key   .text   lte   apache   create   org   form   

原文地址:http://www.cnblogs.com/xd502djj/p/7010919.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!