我有动态分区“广告系列”和静态分区年份和月份的表格(这意味着我在插入/创建分区时给予了价值)。
'ABC'分区(年='2011',月='08',广告系列)
仅支持动态分区,后面跟静态分区名称为year和month。但我的用例正好相反
我想要这样的东西 - > 'ABC'分区(广告系列,年='2011',月='08')
这样我就能看到每年和每月的广告系列结果。
任何机会,或任何其他选择,我可以做到这一点?这样的事情??
ALTER TABLE ABC PARTITION(y ='2011',m ='08',广告系列)RENAME / ALTER PARTITIONs(广告系列,y ='2011',m ='08');
答案 0 :(得分:2)
分区中未将分区定义为静态或动态;只是INSERT / LOAD查询将分区定义为静态或动态。您可以使用SET hive.exec.dynamic.partition=nonstrict
运行使用全动态分区的插入。
请参阅:https://cwiki.apache.org/confluence/display/Hive/Tutorial
答案 1 :(得分:1)
如果您将分区设置为strict
模式,则可以执行
SET hive.exec.dynamic.partition=strict
但如果设置为非严格模式并动态执行,则
SET hive.exec.dynamic.partition=nonstrict
我们无法在动态分区上执行ALTER
。