cdh集群hive表新增字段测试

问题:现有分区表添加新字段后,往分区表插入数据,插入的数据有对新字段赋值,hive下查询分区表新添加字段出现新增字段查询结果为null,而impala下查询新增字段有值。

目的:为了验证Hive下的分区表新增字段,然后对新增字段进行赋值,通过hive或者impala连接串的方式查询表中的的新增字段,确认新增字段是否有值。

1、创建表

1)在hive下建表
脚本如下:
create table adp_usr.t_test_20220119(id int, name string, age int) partitioned by (type string)
STORED AS PARQUET;
2)在impala下进行元数据刷新
invalidate metadata adp_usr.t_test_20220119;

2、插入数据

在impala下进行插入数据
insert overwrite adp_usr.t_test_20220119(id,name,age) partition (type='A1') 
values (1,'zhangsan',18),(2,'lisi',23);
insert overwrite adp_usr.t_test_20220119 partition (type='A2') 
values(3,'wangwu',22),(4,'zhaoliu',28),(5,'tianqi',24);

3、解决步骤:

3.1、新增字段

1)hive下执行
ALTER TABLE adp_usr.t_test_20220119 ADD columns (sex string comment '性别') ;
ALTER TABLE adp_usr.t_test_20220119 ADD columns (score int comment '分数') cascade;

2)impala下进行元数据刷新
invalidate metadata adp_usr.t_test_20220119;

3.2、插入数据

impala下执行
1)往已存在的分区中插入数据
insert overwrite adp_usr.t_test_20220119 partition (type='A2') 
values(3,'wangwu',22,'男',88),(4,'zhaoliu',28,'男',88),(5,'tianqi',24,'女',88);

1)往新分区中插入数据
insert overwrite adp_usr.t_test_20220119 partition (type='A3') 
values(3,'wangwu',22,'男',94),(4,'zhaoliu',28,'男',87),(5,'tianqi',24,'女',96);

4、查询数据

1)hive下查询

  • 查询语句:select * from adp_usr.t_tes_20220119;
  • 查询结果:

2)impala下查询

  • 查询语句:select * from adp_usr.t_tes_20220119;
  • 查询结果:

5、结论:

     在HIVE下的分区表新增字段不管是否有添加cascade关键字,给新增字段赋值,新增字段都有值。

  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值