impala增加字段,hsql查不到数据
impala增加字段,插入数据后直接查看文件有值,impala查询是有值的,但是hsq查出来就没有值!
Parquet格式的表,在重命名表的列名,或新增列名后,查询重名的列数据时显示当前列所有值为NULL。
原因:
在Hive和Impala中,默认访问Parquet数据文件的方式不一样,Hive是以列名,Impala是以位置。
解决方法:不适用于所有hive版本 > hive-3.1.3 支持,Jira:HIVE-6938
1.在Hive的当前会话设置-临时
set parquet.column.index.access=true;
2.修改表的属性
hive默认的读取parquet文件是按照名称读取的(orc默认是按序列号读取的),
这个参数的功能是使hive读取parquet文件时使用序列号读取
ALTER TABLE XXX SET TBLPROPERTIES (‘parquet.column.index.access’=‘true’);
3.不支持版本处理方案:
直接删除表、重新建表,将新增字段在建表里。