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