1. 程式人生 > >Hive分割槽的常用命令

Hive分割槽的常用命令

一、建立分割槽

ALTER TABLE stg_userlogin ADD IF NOT EXISTS PARTITION (p_day_id = '20170608') location '/datacenter/business/stg/stg_userlogin/2017/06/08/';

一次新增多個分割槽

ALTER TABLE page_view ADD PARTITION (p_day_id='20170607', country='cn') location '/datacenter/business/stg/stg_pv/2017/06/07/' PARTITION (p_day_id='20170608', country='cn') location '/datacenter/business/stg/stg_pv/2017/06/08/';  

二、刪除分割槽

ALTER TABLE stg_userlogin DROP IF EXISTS PARTITION (p_day_id = '20170608');
ALTER TABLE page_view DROP IF EXISTS PARTITION (p_day_id='20170608', country='cn');

三、修改分割槽

ALTER TABLE stg_userlogin PARTITION (p_day_id = '20170608') SET LOCATION "/datacenter/business/fact/fact_userlogin/2017/06/08/";
ALTER TABLE stg_userlogin PARTITION (p_day_id='20170608') RENAME TO PARTITION (p_day_id='2017-06-08');

四、修復Hive分割槽表的命令

MSCK REPAIR TABLE stg_userlogin;  

五、修改Hive表屬性

alter table table_name set TBLPROPERTIES ('EXTERNAL'='TRUE');  //內部錶轉外部表 
alter table table_name set TBLPROPERTIES ('EXTERNAL'='FALSE');  //外部錶轉內部表