Hive 按日期范围删除配置单元分区

Hive 按日期范围删除配置单元分区,hive,Hive,我在我的环境中使用hive-0.10.0-cdh-4.7.0 我有一个名为test store as sequence file的表和一些按日期划分的分区,如下所示: game=Test/date_dim=2014-07-01 game=Test/date_dim=2014-07-11 game=Test/date_dim=2014-07-21 game=Test/date_dim=2014-07-31 我想在SQL命令中删除2014-07-21和2014-07-30之

我在我的环境中使用hive-0.10.0-cdh-4.7.0

我有一个名为test store as sequence file的表和一些按日期划分的分区,如下所示:

game=Test/date_dim=2014-07-01    
game=Test/date_dim=2014-07-11    
game=Test/date_dim=2014-07-21    
game=Test/date_dim=2014-07-31
我想在SQL命令中删除2014-07-21和2014-07-30之间的分区:

alter table test drop partition (date_dim>='2014-07-11',date_dim<='2014-07-30')
但实际上,这3个分区必须删除:

game=Test/date_dim=2014-07-11    
game=Test/date_dim=2014-07-21
game=Test/date_dim=2014-07-01
game=Test/date_dim=2014-07-11
game=Test/date_dim=2014-07-21

配置单元删除分区似乎只使用
date\u dim您应该将字符串转换为日期类型,为此,您可以使用unix\u时间戳函数:

alter table test drop partition (unix_timestamp(date_dim,'yyyy-MM-dd')>=unix_timestamp('2014-07-11','yyyy-MM-dd'),unix_timestamp(date_dim,'yyyy-MM-dd')<=unix_timestamp('2014-07-30','yyyy-MM-dd'))

alter table test drop partition(unix_timestamp,date_dim,'yyyyy-MM-dd')>=unix_timestamp('2014-07-11','yyyyy-MM-dd')、unix_timestamp(date_dim,'yyyyyyy-MM-dd')、unix_timestamp(date dim,'yyyyyyyy-MM-dd')我遇到了错误。知道如何解决这个错误吗?alter table isso_evt_vw vw_vw_-drop分区(unix_timestamp,loaddate,'yyyyyy;错误:编译语句时出错:失败:ParseException行1:59不匹配的输入“(”在drop partition语句中应设置null(状态=42000,代码=40000)。请确保loaddate字段具有适当的类型。字符串,时间戳vs。