使用Elasticsearch我知道我可以做一些不错的时间序列数据查询并得到均值/最大值
是否有可能只包括该计算中的90%百分位数,特别是在Kibana中?
有关如何做到这一点的任何想法?
答案 0 :(得分:5)
Elasticsearch目前不支持百分位数(包括中位数)。
百分位数比分布式环境中的统计数据更难计算。我们假设您有2个分片。如果您向他们两个询问其值和值的总和,您将能够知道全局平均值:($sum1 + $sum2) / $(value_count1 + $value_count2)
。
另一方面,如果你想计算中位数,那么准确计算它的唯一方法是从两个分片中获得所有值,对它们进行排序并取中位数。这将需要大量内存和网络带宽。
幸运的是,有一些算法允许计算内存使用量有限的百分位数的良好近似值,我们特别关注tdigest因此很可能在将来的版本中支持(近似)百分位数Elasticsearch。