Hive动态分区表更改分区的问题



我有一个表,动态分区"campaign"和静态分区的年和月(这意味着我在插入/创建分区时给出了值)。

'ABC' Partition by (year='2011', month='08', campaign)

As动态分区只有在年份和月份后面跟着静态分区时才支持。但是我的用例是相反的

我想要这样的东西-->'ABC' Partition by (campaign, year='2011', month='08')

这样我就可以看到每年和每月的活动结果。

有可能,或者有其他的选择,我可以这样做吗?像这样的东西??

ALTER PARTITION (campaign,y='2011', m='08',campaign);

分区在metastore中没有被定义为静态或动态;仅INSERT/LOAD查询将分区定义为静态或动态。您可以通过使用SET hive.exec.dynamic.partition=nonstrict来运行一个使用全动态分区的插入。

见:https://cwiki.apache.org/confluence/display/Hive/Tutorial

如果您将分区设置为strict模式,则可以执行它

SET hive.exec.dynamic.partition=strict

BUT如果设置为非严格模式并动态执行,则

SET hive.exec.dynamic.partition=nonstrict

我们不能在Dynamic分区上执行ALTER

最新更新