elasticsearchelasticsearch玩转大数据

三十二、Elasticsearch聚合分析--两个核心概念buc

2017-07-19  本文已影响102人  编程界的小学生

比如数据:

city name
北京 小李
北京 小王
上海 小张
上海 小丽
上海 小陈

1、bucket

bucket:一个分组

基于city划分buckets
划分出来两个bucket,一个是北京bucket,一个是上海bucket。

北京bucket:包含了2个人,小李和小王
上海bucket:包含了3个人,小张,小丽,小陈

按照某个字段进行bucket划分,那个字段的值相同的那些数据,就会被划分到一个bucket中。

有一些mysql的sql知识的话,聚合,首先第一步就是分组,对每个组内的数据进行聚合分析,分组就是我们这里的bucket

2、metric

metric:对一个数据分组执行的统计

当我们有了一堆bucket之后,就可以对每个bucket中的数据进行聚合分词了,比如说计算一个bucket内所有数据的数量,或者计算一个bucket内所有数据的平均值,最大最小值等。

metric就是对一个bucket执行的某种聚合分析的操作,比如说求平均值,求最大最小值等。

select count(*) from access_log group by user_id

bucket:group by user_id --》那些user_id相同的数据,就会被划分到一个bucket中
metric:count(*),对每个user_id bucket中的所有的数据,计算一个数量

若有兴趣,欢迎来加入群,【Java初学者学习交流群】:458430385,此群有Java开发人员、UI设计人员和前端工程师。有问必答,共同探讨学习,一起进步!
欢迎关注我的微信公众号【Java码农社区】,会定时推送各种干货:


qrcode_for_gh_577b64e73701_258.jpg
上一篇下一篇

猜你喜欢

热点阅读