hadoop - 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
但仍然无法正常工作...
解决方案
推荐阅读
- django-rest-framework - 从 FileField 下载 DRF 文件
- postgresql - 如何在 postgres 中获取前几个月的范围
- arrays - 在 Ada 中创建一个空数组
- python - ImportError:无法从“tqdm”导入名称“auto”
- python - 对象没有被完全删除
- r - 使用基于 ID 的 tidyverse 将行合并为一个
- javascript - 在 Ajax 中分离数据列表
- curl - 将 AWS cpp sdk 用于 Google 云时出现 Curl 超时
- javascript - 全局正则表达式和数组
- opencv - VLC 可以连接 rtsp,但是 openCV 和 ffmpeg