我有一个表,动态分区"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