删除Hive中的分区

时间:2014-09-24 14:37:45

标签: hive partition

大家所有的表在第1列和第2列都是分区的,都是INT类型,我使用以下命令删除分区,column1等于null或 HIVE_DEFAULT_PARTITION

ALTER TABLE Table_Name DROP IF EXISTS PARTITION(column1=__HIVE_DEFAULT_PARTITION__,column2=101);

但是我收到以下错误:错过了''at','near''

当我这样做时:

show partitions Table_Name (这是要删除的分区的样子)

输出:

column1=__HIVE_DEFAULT_PARTITION__/column2=101

3 个答案:

答案 0 :(得分:1)

感谢您的回答,大家都很感激..实际上找出了问题

ALTER TABLE Table_Name DROP IF EXISTS PARTITION(column1<1,column2=101);

因为column1有一个空值条目,我想删除它是 HIVE_DEFAULT_PARTITION 或(null)所以使用条件&lt; 1为我工作

答案 1 :(得分:0)

您是否尝试将 HIVE_DEFAULT_PARTITION 放入引号

ALTER TABLE Table_Name DROP IF EXISTS 
PARTITION(column1='__HIVE_DEFAULT_PARTITION__',column2=101);

答案 2 :(得分:0)

您可以直接删除column2上的分区。

ALTER TABLE Table_Name DROP IF EXISTS PARTITION(column2=101);