Hive 修改字段名后其值为NULL

Hive 版本

hive --version
Hive 3.1.2

 

我们总会遇到想改一个字段名的情况,这类需求在日常工作中也会存在,但是遇到一个现象:
更改字段字段名之后,相对应的字段名的值为 NULL、

alter table tablename change old_column new_column string;

select new_column from tablename limit 10;

 

这个时候会发现,这一类的值都是 NULL 了,顿时脑子嗡嗡的...
更改个字段名称,居然会影响这一列的值,无法想象

 

原因:
tablename 这一张表是parquet 表造成的,表的属性:parquet.column.index.access 造成的

解决:
alter table tablename set tblproperties ('parquet.column.index.access'='true');

但在Hive中该属性默认为False,所以需要在当前会话设置该属性为true或在建表属性中增加该属性为true

posted @ 2022-04-02 17:44  醉城、  阅读(1066)  评论(0编辑  收藏  举报