hive分区表中--新增字段,发现数据为null的坑

数仓开发过程中,经常会有需求变更,添加字段的情况所在,添加完了字段还需要重新跑数据,重新将这个字段的数据加载进去,但是会出现一个坑就是加载的数据为null。

问题所在:

对于分区表添加字段,向已存在分区中插入数据,结果新增字段的值全部为null。

alter table xunying add colums(name string);

insert overwrite table xunying partition(inc_day='1123') select id,amt,'1' name from tb_xunying;

问题所在:

解决方案:

1、将这个分区删除!!删除分区会删除该分区的数据,但是本身数据就是重新跑的,所以删除数据无所谓的,这样再重新跑一次脚本,发现数据就有了。

 

2、如果介意删除分区的话,因为删除分区有点不专业,那么使用的解决办法就是:cascade

alter table xunying replace columns(id string,amt string,name string,name2 string) cascade;

在添加分区之后 加上cascade,强制添加字段,重新跑一次,数据就会有了。

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值