hive parquet 修改字段名 列原数据变NULL

文章讲述了在Hive中,当对Parquet格式的表进行列名重命名后,查询可能遇到所有列值为NULL的问题。解决方法包括临时设置`parquet.column.index.access`属性为true以及永久修改表属性,确保Hive按顺序读取Parquet文件而非依赖列名。
摘要由CSDN通过智能技术生成

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');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值