Parquet格式的表,在重命名表的列名后,查询重名的列数据时显示当前列所有值为NULL。
alter table parquet_tb change column column_name_old column_name_new string comment '测试字段' cascade;
解决方法:
1.在Hive的当前会话设置parquet.column.index.access=true属性(临时)
set parquet.column.index.access=true;
select * from parquet_tb limit 10;
2.修改表的属性
hive默认的读取parquet文件是按照名称读取的(orc默认是按序列号读取的),
这个参数的功能是使hive读取parquet文件时使用序列号读取
ALTER TABLE parquet_tb SET TBLPROPERTIES ('parquet.column.index.access'='true');