Hiveql Count(*)返回值0(即使它至少应为1+;)

Hiveql Count(*)返回值0(即使它至少应为1+;),hiveql,Hiveql,我在S3中有一个用户表,我正在运行一些查询。特别是,我试图获取特定用户ID的记录计数。我首先查询整个表,如下所示: Select * From table Limit 100 这工作正常,并返回结果。然后复制从该结果中获得的一个用户ID,并运行以下查询: Select count(id) From table Where id = 'abc123' 因为我直接从表中复制了用户ID,所以我应该得到至少1的计数-我知道该ID至少有一条记录。但是,配置单元返回的结果是0 我尝试分析表来计算统

我在S3中有一个用户表,我正在运行一些查询。特别是,我试图获取特定用户ID的记录计数。我首先查询整个表,如下所示:

Select * 
From table 
Limit 100
这工作正常,并返回结果。然后复制从该结果中获得的一个用户ID,并运行以下查询:

Select count(id)
From table 
Where id = 'abc123'
因为我直接从表中复制了用户ID,所以我应该得到至少1的计数-我知道该ID至少有一条记录。但是,配置单元返回的结果是0

我尝试分析表来计算统计数据,然后重新运行查询,但仍然得到了0的计数

于是我尝试了下面的代码,但这在我身上超时了,不会显示任何结果。运行查询花了0.001秒,但它只是在那里“加载…”表,然后我最终收到一条消息说“操作超时”

有没有想过为什么会发生这种情况,或者如何解决


谢谢

您是否运行了analyze命令?也许数据不是这样updated@Milk是的。我运行了“analyze table xxxx compute statistics”,然后重新运行我的查询,结果仍然是0。这可能是id中的空格问题。请尝试where trim(id)=“abc123”来检查这一点hypothesis@leftjoin谢谢你的建议。我刚试过,结果仍然是零。你运行了analyze命令吗?也许数据不是这样updated@Milk是的。我运行了“analyze table xxxx compute statistics”,然后重新运行我的查询,结果仍然是0。这可能是id中的空格问题。请尝试where trim(id)=“abc123”来检查这一点hypothesis@leftjoin谢谢你的建议。我刚试过,结果仍然是零。
Select * 
From table 
Where id = 'abc123'
Limit 100