当前位置:   article > 正文

【原】Hive 分区表新增字段后,新增字段无法写入问题_hive分区表新增字段后数据写不进去

hive分区表新增字段后数据写不进去

1. 原始数据结构:

  1. 1.原始表结构
  2. select id,name,dt from test1

2. 增加字段

  1. 2.现在需要往原始表中增加address(地址)字段
  2. alter table test1 add columns (address string COMMENT '地址');  

3.增加过字段后,新增加字段的数据一直显示为null,即使重新overwrite数据也为 null

最终解决方式:

1.hive中往分区表中增加字段时,加上cascade关键字;然后再重新insert overwrite,这样再查询新增字段就会有数据了。如下:

  1. 1.新增字段
  2. alter table test1 add columns (address string COMMENT ' 地址 ') cascade;
  3. 2.重新插入数据
  4. insert overwrite table test1 partition(dt)
  5. select dt,id,name,address,dt from test1;

2. 如果一开始新增字段的时候,没有加 CASCADE 这个关键字,可以通过 change 来进行修改.r如下:

 alter table test1 change column address address int (修改后列的属性) CASCADE;

注意:对于执行了 add column 语句之后新生成的分区,是不会有问题的,Hive 会自动维护新分区中的元数据。

 hive官方文档描述:

参考转载:https://www.cnblogs.com/zhangqian27/p/12654067.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/911323
推荐阅读
相关标签
  

闽ICP备14008679号