我正在为单元使用Glue metestore,我有AWS EMR集群来查询和修改单元表。
我的数据位于S3 中
我有3个分区列:
yr_no: int, month_no: int, uniq_id: int
但是,我有一些文件的值为NULL,Hive将yr_no和month_no的分区值设置为Hive_DEFAULT_partition
但是由于yr_no和month_no都是int,所以我不能轻易地删除这些分区。
我尝试了以下格式:
ALTER TABLE table DROP PARTITION(yr_no=__HIVE_DEFAULT_PARTITION__);
ALTER TABLE table DROP PARTITION(yr_no<1);
第一个命令抱怨因为列是int,第二个抱怨语法<
有没有一种简单的方法可以将其放在yr_no=HIVE_DEFAULT_PARTITION或month_no=HIVE_DEFAULT-PARTITION上
也许您可以先使用show partitons
。然后,使用desc formatted partition(yr_no=xxx,month_no=xxxx)
查看详细信息。
您可以执行以下操作,它就会起作用。
ALTER TABLE table DROP PARTITION(yr_no='__HIVE_DEFAULT_PARTITION__');