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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM