使用百分位数/中位数的ES时间序列数据

时间:2014-02-13 19:55:13

标签: elasticsearch kibana

使用Elasticsearch我知道我可以做一些不错的时间序列数据查询并得到均值/最大值

http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/search-facets-statistical-facet.html

是否有可能只包括该计算中的90%百分位数,特别是在Kibana中?

有关如何做到这一点的任何想法?

1 个答案:

答案 0 :(得分:5)

Elasticsearch目前不支持百分位数(包括中位数)。

百分位数比分布式环境中的统计数据更难计算。我们假设您有2个分片。如果您向他们两个询问其值和值的总和,您将能够知道全局平均值:($sum1 + $sum2) / $(value_count1 + $value_count2)

另一方面,如果你想计算中位数,那么准确计算它的唯一方法是从两个分片中获得所有值,对它们进行排序并取中位数。这将需要大量内存和网络带宽。

幸运的是,有一些算法允许计算内存使用量有限的百分位数的良好近似值,我们特别关注tdigest因此很可能在将来的版本中支持(近似)百分位数Elasticsearch。