首页 > 解决方案 > Hive select * 显示 0 但 count(1) 显示返回数百万行

问题描述

我创建了一个配置单元外部表并添加了一个分区

create external table tbA (
  colA int,
  colB string,
  ...)
PARTITIONED BY ( 
  `day` string)
stored as parquet;

alter table tbA add partition(day= '2021-09-04');

然后我将 parquet 文件放入目标 HDFS 目录hdfs dfs -put ...

select * from tbA我可以使用in获得预期的结果IMPALA

Hive,我可以在使用时得到正确的结果 select count(1) from tbA 但是,当我使用

select * from tbA limit 10

它根本不返回任何结果。

如果 parquet 文件或目录有任何问题,IMPALA不应该得到正确的结果并且Hive可以计算行号......为什么select * from ...什么都不显示?任何帮助表示赞赏。


此外,运行select distinct day from tbA,它返回2021-09-04

运行select * from tbA时,它返回带有 day = 的数据2021-09-04

这个分区好像没有被正确识别?我尝试删除分区并使用msck repair table但仍然无法正常工作...

标签: hadoophive

解决方案


推荐阅读