你可以的,加油

时间直方图统计,流量的消费趋势、关键问题:ES中存储的是累计流量数值

Elasticsearch | 作者 aokunsang | 发布于2019年11月25日 | 阅读数:2261

前提:ES中存储的只有一个关于流量的字段,累计流量。  并且该值是累计增加的
 1、统计每隔一定时间段(10分钟/1天)的流量消费、使用日期直方图可以做到
2、流量的计算比较麻烦,需要使用时间段内的每个站点累计流量的max-min,得到这个站点的消费流量、 (或者是否有更简单的计算方式)
3、单个站点的消费趋势好做,使用脚本管道分组聚合,获取max-min。如下:
{
"query": {
"term":{
"siteId": 1
}
},
"aggs": {
"date_histo": {
"date_histogram": {
"field": "collectTime",
"interval": "1d",
"format": "yyyy-MM-dd",
"keyed": true
},
"aggs": {
"totalRate": {
"stats": {
"field": "totalRate"
}
},
"sunshi": {
"bucket_script": {
"buckets_path": {
"maxCost": "totalRate.max",
"minCost": "totalRate.min"
},
"script": "params.maxCost - params.minCost"
}
}
}
}
},
"size": 0
}
4、问题:如果获取所有站点(800个)一定时间段的流量消费趋势怎么搞?
已邀请:
匿名用户

匿名用户

赞同来自:

请把这些 复杂的业务 放到流式计算中去。不要玩弄ES 。它只是个3岁的小孩子。只适合全文检索。

要回复问题请先登录注册