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

Der*_*gan 4 elasticsearch kibana

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

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

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

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

jpo*_*ntz 5

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

百分位数比分布式环境中的统计数据更难计算.我们假设您有2个分片.如果你要求他们两个人得到他们的价值和价值的总和,你就能知道全球平均价值:($sum1 + $sum2) / $(value_count1 + $value_count2).

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

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