Hive分区表新增字段后重跑历史数据,新增字段值为Null的问题

近期开发中因为上游系统需要将历史全量数据增加字段,Hive分区表新增字段后重跑历史数据后遇到新增字段值为Null的问题

Hive分区表新增字段后重跑历史数据,新增字段值为Null的问题

alter table my_table add columns(new_column string) ;

1.原因:在添加字段时只更新了表级的表结构元数据信息,而分区级的表结构元数据信息未进行更新,导致新增的字段没有写进去。

2.解决:添加CASCADE关键字。CASCADE是级联的意思,修改表字段的同时级联修改历史分区的字段信息。

alter table my_table add columns(new_column string) CASCADE;

3.在网上搜索了以下还有很多方法解决这个问题但是都没又这个方法解决的彻底。