聚合分析简介
什么是聚合分析
·搜索引擎用来回答如下问题:
- 请告诉我地址为上海的所有订单?
- 请告诉我最近1天内创建但没有付款的所有订单?
.聚合分析可以回答如下问题:
- 请告诉我最近1周每天的订单成交量有多少?
- 请告诉我最近1个月每天的平均订单金额是多少?
- 请告诉我最近半年卖的最火的前5个商品是哪些?
·聚合分析,英文为Aggregation ,是es除搜索功能外提供的针对es数据做统计分析的功能
- 功能丰富,提供Bucket, Metric, Pipeline等多种分析方式,可以满足大部分的分析需求
- 实时性高,所有的计算结果都是即时返回的,而hadoop等大数据系统一般都是 T+1级别的
请告诉我公司目前在职人员工作岗位的分布情况?
聚合分析作为search的一部分, api如下所示:
请告诉我公司目前在职人员工作岗位的分布情况?
聚合分析-分类
·为了便于理解, es将聚合分析主要分为如下4类
- Bucket,分桶类型,类似SOL中的GROUP BY语法
- Metric,指标分析类型,如计算最大值、最小值、平均值等等
- Pipeline ,管道分析类型,基于上一级的聚合分析结果进行再分析
- Matrix ,矩阵分析类型
metric聚合分析
主要分如下两类:
- 单值分析,只输出一个分析结果
- min,max,avg,sum
- cardinality
- 多值分析,输出多个分析结果
- stats,extended stats
- percentile, percentile rank
- top hits
返回数值类字段的最小值
返回数值字段的最大值
一次返回多个聚合结果
Metric聚合分析-Cardinality
Cardinality ,意为集合的势,或者基数,是指不同数值的个数,类似SQL中的distinct count概念