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
