在分区表里增加字段后,向分区表插入数据有两种情况:
1.分区在修改表结构前存在
2.分区在修改表结构前不存在
对于第二种情况,bug不存在
对于第一种情况hive分区表新增字段后新增字段值为空。
网上查了资料,提供了两种解决办法:
1. 修改hive元数据SDS表的CD_ID字段
原因是修改表结构后,元数据库中的SDS中该表对应的CD_ID会改变,但是该表分区下面对应的CD_ID还是原来表的CD_ID
建表
hive> create table student(
> name string,
> age int
> )
> partitioned by(class string)
> row format delimited fields terminated by '\t';
导入数据
hive> load data local inpath '/dev/shm/test.dat'
> into table