这个表在我们的impala集群上,不过,impala shell似乎与sql非常相似。我很少sql或 Impala 的经验,除了做非常简单的查询,所以这个问题可能是远高于我的经验和薪酬等级。
我需要用 Impala 从数据库里得到一些数据。表中还有其他列,但我的命令获取了我感兴趣的这3列。数据/结果可以如下所示:
time | server | data
0 | A | 500
0 | B | 200
0 | C | 300
1 | A | 100
1 | A | 400
1 | B | 200
1 | C | 300
2 | A | 900
2 | B | 800
2 | C | 700
2 | C | 600
理想情况下,数据应该看起来像时间0,每个服务器对于每个时间值只显示一次。但是,有一个bug,如图所示,一个服务器可以为一个时间值显示多次。也不是同一台服务器在每个时间值上显示一次以上,如上面的示例所示。
在任何情况下,我应该读取/查找什么impala shell/sql命令来告诉它选择不同的时间和服务器,但选择两个数据值中的较大值?我不知道如何继续过去:
select distinct time, server from table;
如果这太难或太复杂,也许有人可以告诉我一个命令,它选择不同的时间和服务器,但打印它为不同的时间和服务器对找到的第一个数据值。
2条答案
按热度按时间ujv3wf0j1#
jvlzgdj92#
要获得唯一的时间和服务器值以及最大的数据值,可以使用带有
GROUP BY
,如下所示:希望这有帮助。
分享和享受。