首页 > 解决方案 > 使用 hive 获取 Avg、p50、p95 和 p99

问题描述

我有一个蜂巢表,它有大约 3000 万行,比如

fruit   sold
----------------
apple   5
apple   10
apple   3
orange  2
orange  5

为此,基于水果,我想获得 avg、p50、p90 和 p99 之类的

fruit   avg     p50     p95     p99
apple   6       4       4       2
orange  3.5     3       3       4

标签: sqlhadoophivehiveql

解决方案


您可以使用percentile()

select fruit, avg(sold), percentile(sold, 0.5), percentile(sold, 0.95), percentile(sold, 0.99)
from t
group by fruit;

推荐阅读