如何删除配置单元默认分区值,\uhive\u default\u partition__

e4eetjau  于 2021-05-27  发布在  Hadoop
关注(0)|答案(2)|浏览(481)

我正在为配置单元使用glue metestore,并使用aws emr集群来查询和修改配置单元表。
我的数据驻留在s3中
我有3个分区列:

yr_no: int, month_no: int, uniq_id: int

但是,我有一些文件的值为空,hive将yr\u no和month\u no的分区值设置为hive\u default\u分区
但是由于yr\u no和month\u no都是int,所以我不能轻易地删除这些分区。
我尝试了以下格式:

ALTER TABLE table DROP PARTITION(yr_no=__HIVE_DEFAULT_PARTITION__);
ALTER TABLE table DROP PARTITION(yr_no<1);

第一个命令抱怨,因为列是int,第二个命令抱怨语法<
有没有一个简单的方法把它放到yr\u no=hive\u default\u分区或者month\u no=hive\u default\u分区上

n3schb8v

n3schb8v1#

也许你可以用 show partitons 一开始。然后,使用 desc formatted partition(yr_no=,month_no=x) 查看详细信息。

njthzxwz

njthzxwz2#

你可以这样做,它会工作。

ALTER TABLE table DROP PARTITION(yr_no='__HIVE_DEFAULT_PARTITION__');

相关问题