我正面临着一个奇怪的问题, 我有一个表,基于dept_key进行分区(它是一个整数,例如.3212) 表创建如下
create external table dept_details (dept_key,dept_name,dept_location) PARTITIONED BY (dept_key_partition INT) ROW FORMAT DELIMITED FIELDS TERMINATED BY '~' LOCATION '/dept_details/dept/';
现在我已经添加了一些分区,例如:1204,1203,1204
当我尝试删除分区时,我只是输入了dept_key
而不是"dept_key_partition"
,这又丢弃了我的所有分区
删除查询alter table dept_details drop partition (dept_key=12)
,这是我面临的一个非常奇怪的问题。请让我知道可能存在的问题。
谢谢。
答案 0 :(得分:0)
来自Hive LanguageManual DDL ...
从Hive 0.14(HIVE-8411)开始,用户可以提供部分 某些上述alter column语句的分区规范,类似于 动态分区(...)您可以使用单个ALTER语句一次更改许多现有分区 (...)与动态分区类似,
hive.exec.dynamic.partition
必须设置为true
看起来部分规范功能已被移植到其他命令,如DROP,TRUNCATE,即使文档中没有明确说明。
简而言之:它不是一个错误,它是一个功能。