標題比較籠統,實際情況是:
對於Hive 的分區外部表的已有分區,在對表新增或者修改字段后,相關分區不生效。
原因是:表元數據雖然修改成功,但是分區也會對應列的元數據,這個地方不會隨表的元數據修改而修改.
處理辦法:
有兩種
第一種:修改表,然后對於需要生效的分區,先drop 再 add. (或者說:先drop 表在重新建表再添加分區)
第二種:修改表,對需要生效的分區也執行添加或者修改字段的操作,比如:alter table tablename partition(year='2017') add columns(name STRING );
該問題存在已久,社區也沒有接收並處理,只能用這種變態的方法了。