5.1 ElasticSearch聚合分析之Metric_lwen.steven的博客-CSDN博客


本站和网页 https://blog.csdn.net/Jgx1214/article/details/120118680 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

5.1 ElasticSearch聚合分析之Metric_lwen.steven的博客-CSDN博客
5.1 ElasticSearch聚合分析之Metric
lwen.steven
于 2021-09-05 18:08:04 发布
178
收藏
分类专栏:
从头开始学ElasticSearch
文章标签:
elasticsearch
big data
未经博主同意,禁止转载。
本文链接:https://blog.csdn.net/Jgx1214/article/details/120118680
版权
从头开始学ElasticSearch
专栏收录该内容
50 篇文章
10 订阅
订阅专栏
1.简介 聚合分析是用来对ElasticSearch中存储的数据进行统计分析的,主要包括三种类型。 (1).Metric 指标分析类型主要分为两类,一类是单值分析,只输出一个分析结果,主要包括min、max、avg、sum和cardinality(没有count)。另一类是多值分析,可以输出多个分析结果,如stats、extended_stats、percentiles、percentile_ranks和top hits。
(2).Bucket 分桶分析类型是按照一定的规则将文档分配到不同的桶中,达到分类分析的目的,类似于sql中的group by。主要包括terms、range、date range、histogram、date histogram。
(3).Pipline 管道分析类型,基于上一级的聚合分析结果进行再分析,而且支持链式调用。pipeline的分析结果会输出到原结果中,根据输出位置的不同,主要分为两类,一类是结果与现有聚合分析同级的sibling,主要包括max、min、avg、sum bucket以及stats、extended stats、percentiles bucket。另一类是结果内嵌到现有聚合分析结果中的parent,主要包括derivative、moving average和cumulative。
(4).文档准备 打开kibana Dev Tools,分别添加索引和文档记录。
PUT /employee
"settings": {
"number_of_shards": 5,
"number_of_replicas": 1
PUT /employee/_mapping
"properties": {
"name": {
"type": "text"
},
"age": {
"type": "integer"
},
"birthday": {
"type": "date",
"format": "yyyy-MM-dd"
},
"job": {
"type": "keyword"
},
"salary": {
"type": "float"
POST /employee/_doc
"name": "James Harden",
"job": "Java engineer",
"age": 31,
"salary": 30000.00,
"birthday": "1991-01-01"
"name": "Stephen Curry",
"job": "Java engineer",
"age": 27,
"salary": 20000.00,
"birthday": "1995-08-06"
"name": "LeBron James",
"job": "Technical director",
"age": 35,
"salary": 50000.00,
"birthday": "1987-12-25"
"name": "Damian Lillard",
"job": "Vue engineer",
"age": 25,
"salary": 18000.00,
"birthday": "1996-10-01"
"name": "Kevin Durant",
"job": "Vue engineer",
"age": 30,
"salary": 28000.00,
"birthday": "1992-05-01"
"name": "Chirs Paul",
"job": "Java engineer",
"age": 33,
"salary": 29000.00,
"birthday": "1988-12-02"
"name": "Jason Tatum",
"job": "Java engineer",
"age": 24,
"salary": 15000.00,
"birthday": "1997-08-02"
2.单值查询 (1).min、max、avg、sum min、max、avg、sum分别类似于sql中的min、max、avg、sum功能,如对salary字段进行avg查询。
POST /employee/_search
"size": 0,
"aggs": {
"salary_avg": {
"avg": {
"field": "salary"
"took" : 16,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 8,
"relation" : "eq"
},
"max_score" : null,
"hits" : [ ]
},
"aggregations" : {
"salary_avg" : {
"value" : 26250.0
(2).cardinality 统计不同数值的个数,类似sql中的distinct功能,如对job字段进行cardinality查询。
POST /employee/_search
"size": 0,
"aggs": {
"job_distinct": {
"cardinality": {
"field": "job"
"took" : 28,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 8,
"relation" : "eq"
},
"max_score" : null,
"hits" : [ ]
},
"aggregations" : {
"job_distinct" : {
"value" : 3
3.多值查询 (1).stats 返回一系列数值类型的统计值,包含min、max、avg、sum和count,如对salary字段进行stats查询。
POST /employee/_search
"size": 0,
"aggs": {
"salary_stats": {
"stats": {
"field": "salary"
"took" : 11,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 8,
"relation" : "eq"
},
"max_score" : null,
"hits" : [ ]
},
"aggregations" : {
"salary_stats" : {
"count" : 8,
"min" : 15000.0,
"max" : 50000.0,
"avg" : 26250.0,
"sum" : 210000.0
(2).extended_stats 对stats的扩展,包含了更多的统计数据,如平方和(sum_of_squares)、方差(variance)、标准差(std_deviation)和标准差范围(std_deviation_bounds),如对salary字段进行extended_stats查询。
POST /employee/_search
"size": 0,
"aggs": {
"salary_extended_stats": {
"extended_stats": {
"field": "salary"
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 8,
"relation" : "eq"
},
"max_score" : null,
"hits" : [ ]
},
"aggregations" : {
"salary_extended_stats" : {
"count" : 8,
"min" : 15000.0,
"max" : 50000.0,
"avg" : 26250.0,
"sum" : 210000.0,
"sum_of_squares" : 6.374E9,
"variance" : 1.076875E8,
"std_deviation" : 10377.25879025863,
"std_deviation_bounds" : {
"upper" : 47004.51758051726,
"lower" : 5495.4824194827415
(3).percentiles 百分位数统计,通常用于统计数据分布情况,如对salary字段进行percentiles查询。
POST /employee/_search
"size": 0,
"aggs": {
"salary_percentiles": {
"percentiles": {
"field": "salary"
"took" : 18,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 8,
"relation" : "eq"
},
"max_score" : null,
"hits" : [ ]
},
"aggregations" : {
"salary_percentiles" : {
"values" : {
"1.0" : 15000.0,
"5.0" : 15000.0,
"25.0" : 19000.0,
"50.0" : 24000.0,
"75.0" : 29500.0,
"95.0" : 50000.0,
"99.0" : 50000.0
百分位数统计名称解释:高等院校的入学考试成绩经常以百分位数的形式统计。假设某个考生在入学考试中的语文原始分数为54分。相对于参加同一考试的其他学生来说,并不容易知道他的成绩如何。但是如果原始分数54分恰好对应的是第70百分位数,我们就能知道大约70%的学生的考分比他低,而约30%的学生考分比他高。
(4).percentile_ranks 百分位数统计的逆操作,返回值所在的百分位,如对salary字段,查询其值为28000和30000的百分位。
POST /employee/_search
"size": 0,
"aggs": {
"salary_percentile_ranks": {
"percentile_ranks": {
"field": "salary",
"values": [28000,30000]
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 8,
"relation" : "eq"
},
"max_score" : null,
"hits" : [ ]
},
"aggregations" : {
"salary_percentile_ranks" : {
"values" : {
"28000.0" : 61.111111111111114,
"30000.0" : 75.59523809523809
(5).top_hits 一般用于分桶后获取该桶内最匹配文档的顶部文档列表,即详情数据,如获取salary字段前3个详情。
POST /employee/_search
"size": 0,
"aggs": {
"salary_top_hits": {
"top_hits": {
"size": 3,
"sort": [{
"salary": {
"order": "desc"
}]
"took" : 363,
"timed_out" : false,
"_shards" : {
"total" : 5,
"successful" : 5,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 7,
"relation" : "eq"
},
"max_score" : null,
"hits" : [ ]
},
"aggregations" : {
"salary_top_hits" : {
"hits" : {
"total" : {
"value" : 7,
"relation" : "eq"
},
"max_score" : null,
"hits" : [
"_index" : "employee",
"_type" : "_doc",
"_id" : "w4l1hnsBEsHOdz1YM8pq",
"_score" : null,
"_source" : {
"name" : "LeBron James",
"job" : "Technical director",
"age" : 35,
"salary" : 50000.0,
"birthday" : "1987-12-25"
},
"sort" : [
50000.0
},
"_index" : "employee",
"_type" : "_doc",
"_id" : "wYl0hnsBEsHOdz1Y4cqT",
"_score" : null,
"_source" : {
"name" : "James Harden",
"job" : "Java engineer",
"age" : 31,
"salary" : 30000.0,
"birthday" : "1991-01-01"
},
"sort" : [
30000.0
},
"_index" : "employee",
"_type" : "_doc",
"_id" : "xol1hnsBEsHOdz1YXcqt",
"_score" : null,
"_source" : {
"name" : "Chirs Paul",
"job" : "Java engineer",
"age" : 33,
"salary" : 29000.0,
"birthday" : "1988-12-02"
},
"sort" : [
29000.0
lwen.steven
关注
关注
点赞
收藏
打赏
评论
5.1 ElasticSearch聚合分析之Metric
1.简介聚合分析是用来对ElasticSearch中存储的数据进行统计分析的,主要包括三种类型。(1).Metric指标分析类型主要分为两类,一类是单值分析,只输出一个分析结果,主要包括min、max、avg、sum和cardinality(没有count)。另一类是多值分析,可以输出多个分析结果,如stats、extended_stats、percentiles、percentile_ranks和top hits。(2).Bucket分桶分析类型是按照一定的规则将文档分配到不同的桶中,达到分类分
复制链接
扫一扫
专栏目录
es 排序 聚合统计_elastic 聚合分析之Metric & Bucket
weixin_39737636的博客
11-30
204
什么是聚合(Aggregation)1.elasticsearch 除了搜索以外,提供的针对ES数据进行统计分析的功能实时性高、Hadoop(T+1)2.通过聚合,我们会得到一个数据的概览,是分析和总结全套的数据,而不是寻找单个文档。3.高性能,只需要一套语句,就可以从Elasticsearch得到分析结果聚合的分类Aggregation共分为三种:Metric Aggregations、Buck...
Elasticsearch聚合分析(一)——Metric聚合分析 2021/5/25
LiGuanLink的博客
05-25
302
Elasticsearch聚合分析
什么是聚合分析
简介: 聚合分析,英文为Aggregation,是es除搜索功能外提供的针对es数据做统计分析的功能
ES提供多种分析方式: Bucket、Metric、Pipeline 等
Bucket,分桶类型,类似SQL语法中的group by语法。
Metric,指标分析类型,如计算最大值,最小值,平均值等等。
Pipeline,管道分析类型,基于上一级的聚合分析结果进行再分析。
Matrix,矩阵分析类型。
Metric聚合分析
Metric分析分类
参与评论
您还未登录,请先
登录
后发表或查看评论
Elasticsearch聚合之指标聚合metrics
大牛之路
06-13
3956
指标聚合的意思是指此系列中的聚合基于从正在聚合的文档中以某种方式提取的值来计算度量标准。 这些值通常从文档的字段中提取(使用字段数据),但也可以使用脚本生成。例如说数据的平均值,最大值,最小值等等,就是一项统计数据。
基本语法
一般常用的语句是这样的:
"size":0,一般只是为了统计数据,就没必要查询元数据了,设为0就好
"query":{
加上你的查询条件,可选...
ElasticSearch实战系列五: ElasticSearch的聚合查询基础使用教程之度量(Metric)聚合
虚无境的博客
02-29
1673
Title:ElasticSearch实战系列四: ElasticSearch的聚合查询基础使用教程之度量(Metric)聚合
前言
在上一篇中介绍了ElasticSearch实战系列三: ElasticSearch的JAVA API使用教程,介绍了ElasticSearch Java API基础的语法,基本的增删改查(对应SQL语句), 本篇则来介绍一下ElasticSearch 聚合查询的使用...
ElasticSearch之聚合简介Bucket和Metric
最新发布
weixin_44692700的博客
02-13
732
ElasticSearch之聚合Bucket和Metrix简介一、聚合(Aggregation)二、聚合的分类三、Bucket和Mertrix1.Bucket示例2.Metrix示例3.嵌套4.stats
一、聚合(Aggregation)
ES除了提供搜索以外,还提供了针对ES数据进行统计分析的功能
实时性高
Hadoop统计分析功能时效性为(T+1)
通过聚合,我们会得到一个数据的概览,是分析和总结全套数据,而不是寻找某个文档
性能高,只需要一条语句,就能从ElasticSearch中得到分析结
Elasticsearch(三)--Metric(指标)
qq_44447372的博客
08-01
443
1,概念
理解四个关键字:Metric(指标),Bucketing(桶),Matrix(矩阵),Pipeline(管道).其中Metric(指标),Bucketing(桶)应用最为广泛.文档也就是json对象
Bucket(桶): 满足特定条件的文档的集合,类似SQL中的GROUP BY语法(按照性别进行分组)
Metric(指标): 指标分析类型对桶内的文档进行聚合分析的操作),如计算最大值、最小值、平均值等等(类似于分组后计算组内的最大值与最小值)
ES聚合分析查询的一般写法
"agg...
windows 10使用metricbeat 7.15收集性能指标数据
q283614346的博客
10-14
418
1、安装 Metricbeat
官方教程:https://www.elastic.co/guide/en/beats/metricbeat/7.15/metricbeat-installation-configuration.html
1.1、官网下载Metricbeat
1.2、解压后,按以下命令安装
# 进入安装目录,执行install-service-metricbeat.ps1
PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-
Elastic:通过 Logstash 或 Kafka 使用 Metricbeat 监控 Elastic Stack
Elastic 中国社区官方博客
06-29
661
在之前的一篇博文中,我们介绍了一种使用 Metricbeat 监控 Elastic Stack 的新方法。 使用 Metricbeat 从外部收集有关 Elastic Stack 产品的监控信息,提高了监控这些产品的可靠性。 它还为如何将监控数据路由到 Elasticsearch 监控集群提供了灵活性。 在这篇博文中,我们通过展示用户如何将 Metricbeat 收集的监控数据通过 Logstash 或 Kafka 路由到监控集群来更深入地研究第二个方面。 因此,如果您已经在 Metricbeat 配置中将
关于 Kubernetes中集群统一日志管理方案(Elasticsearch+Filebeat+Kibana+Metricbeat)搭建的一些笔记
山河已无恙
02-05
5644
我所渴求的,無非是將心中脫穎語出的本性付諸生活,為何竟如此艱難呢 ------赫尔曼·黑塞《德米安》
Metricbeat监听容器CPU利用率,内存等使用情况,发送给ElasticSearch并展示在kibana
qq_40673345的博客
01-14
1921
简介:
Metricbeat是一个轻量级的托运工,你可以在服务器上安装它,定期从操作系统和服务器上运行的服务收集指标,Metricbeat取得它收集的指标和统计数据,并将它们发送到你指定的输出,例如Elasticsearch或Logstash。
可以获取系统级的 CPU 使用率、内存、文件系统、磁盘 IO 和网络 IO 统计数据,还可针对系统上的每个进程获得与 top 命令类似的统计数据。
...
Elasticsearch聚合初探——metric篇
xingoo
11-07
363
Elasticsearch是一款提供检索以及相关度排序的开源框架,同时,也支持对存储的文档进行复杂的统计——聚合。
前言
ES中的聚合被分为两大类:Metric度量和bucket桶(原谅我英语差,找不到合适的词语.....就用单词来说吧!)。说的通俗点,metric很像SQL中的avg、max、min等方法,而bucket就有点类似group by了。
本篇就简单的介绍一下metri...
elasticsearch 度量(Metrics)聚合
堂哥码财的博客
12-17
283
1、avg求平均值
求tradeDate在20201211到20201216期间,个股现价(priceNow)平均值。
"size":0,
"query":{
"bool":{
"must":[
"range":{
"tradeDate":{
"from":20201211,
"to":20201216,
"include_
深入Elasticsearch度量聚集(1)
neweastsun的专栏
02-26
368
深入Elasticsearch度量聚集(1)
本文主要聚集elasticsearch的数值类型度量聚集,主要有两种类型,一种生成单值聚集,另一个生成多值聚集。单值度量聚集主要有平均数、加权平均数,最小值、最大值以及基数。多值聚集包括统计聚集、扩展统计聚集。
1. 环境准备
为了演示上述度量聚集,我们需要创建sports索引,并存储一些文档。读者可以在这里下载,批量插入文档操作可以参考前文。索引数据...
Elasticsearch 性能监控基础
Mr.Sun
07-07
2019
本文的来源是我翻译他人的一篇技术博客,感谢原作者Emily Chang
原文地址
下面让我们一起来学习Elasticsearch一、Elasticsearch 是什么Elasticsearch是一款用Java编写的开源分布式文档存储和搜索引擎,可以用于near real-time存储和数据检索。1、Elasticsearch简要组成在开始探索性能指标之前,让我们来看看Elasticsearch的
metricbeat,elasticsearch以及kibana的初使用
Easy come, easy go.
03-01
4042
资源监控需要用到软件有metricbeat和elasticsearch(本次使用的是当时最新版本6.1.2,目前官网已跟新至6.2.2)一.Elasticsearch的下载安装以及配置1. elasticsearch下载 首先需要根据主机的环境下载elasticsearch说明:(1).debain和ubuntu 使用的是deb(以下都会使用deb) (2). redhat,centos...
Elasticsearch --- 聚合查询 - Metric (二)
悟能的师兄的专栏
09-16
8296
一:聚合查询-Metric
官网: 指标聚合官网文档:Metric
Metric聚合分析分为单值分析和多值分析两类:
#1、单值分析,只输出一个分析结果
min,max,avg,sum,cardinality
#2、多值分析,输出多个分析结果
stats,extended_stats,percentile,percentile_rank,top hits
二:Metric使用
1、Avg(平均值)
计算从聚合文档中提取的数值的平均值。
POST /exams/_search?size=0
ElasticSearch Scripted Metric
littleVv
09-29
3761
官方文档上关于这一部分的介绍,只有个简单的demo
4_ElaticSearch 使用terms搜索多个值
架构师的成长之路的博客
03-20
9712
4_ElaticSearch 使用terms搜索多个值更多干货分布式实战(干货)spring cloud 实战(干货)mybatis 实战(干货)spring boot 实战(干货)React 入门实战(干货)构建中小型互联网企业架构(干货)python 学习持续更新ElasticSearch 笔记概述es 中如何实现 sql 中的in,使用terms实现语法如下:term: {"field": ...
32_ElasticSearch bucket与metric两个核心概念
架构师的成长之路的博客
03-28
1323
32_ElasticSearch bucket与metric两个核心概念更多干货分布式实战(干货)spring cloud 实战(干货)mybatis 实战(干货)spring boot 实战(干货)React 入门实战(干货)构建中小型互联网企业架构(干货)python 学习持续更新ElasticSearch 笔记一、两个核心概念:bucket和metricbucket:一个数据分组metric...
ES度量聚合(ElasticSearch Metric Aggregations)
中间件兴趣圈
03-09
6892
从本篇将开始进入ES系列的聚合部分(Aggregations)。
本篇重点介绍Elasticsearch Metric Aggregations(度量聚合)。
Metric聚合,主要针对数值类型的字段,类似于关系型数据库中的sum、avg、max、min等聚合类型。
本例基于如下索引进行试验:
public static void createMapping_agregations() {
R...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:数字20
设计师:CSDN官方博客
返回首页
lwen.steven
CSDN认证博客专家
CSDN认证企业博客
码龄7年
暂无认证
311
原创
7636
周排名
6536
总排名
12万+
访问
等级
3586
积分
23
粉丝
32
获赞
18
评论
154
收藏
私信
关注
热门文章
IDEA在Web项目部署时没有Artifact选项的解决方法
6036
2.6 HTTP信息头
3840
2.4 HTTP请求方法
3835
1.2 网络爬虫分类
2628
10.异步调用
2243
分类专栏
从头开始学Java基础
12篇
从头开始学Java并发
15篇
从头开始学Java源码
18篇
从头开始学Spring
12篇
从头开始学MyBatis
7篇
从头开始学SpringBoot
33篇
从头开始学SpringCloud
3篇
从头开始学MySQL
23篇
从头开始学Kafka
31篇
从头开始学Redis
31篇
从头开始学ElasticSearch
50篇
从头开始学Java数据采集
48篇
从头开始学Linux
19篇
实操
9篇
最新评论
8.集成缓存数据库Redis
lwen.steven:
哈哈,谢谢你的建议,后面加一个概括性的目录
8.集成缓存数据库Redis
programmer_ada:
哇, 你的文章质量真不错,值得学习!不过这么高质量的文章, 还值得进一步提升, 以下的改进点你可以参考下: (1)增加条理清晰的目录;(2)使用标准目录;(3)增加内容的多样性(例如使用标准目录、标题、图片、链接、表格等元素)。
8.8 SpringBoot集成ElasticSearch之指定返回字段
lwen.steven:
<artifactId>ebatis</artifactId>
<groupId>io.manbang</groupId>
<version>7.5.1.10.RELEASE</version>
8.8 SpringBoot集成ElasticSearch之指定返回字段
邢帅男:
哥 能看看您的源码么
2.4 Kafka Admin API之删除主题
懒惰の天真热:
大佬,我为啥删不掉呀??我删的时候没有报错。结果zk里面的topic没删掉,然后kafka就挂了。我把zk的topic手动删了,kafka就正常了,这是咋回事呀,是不是我漏配置了什么
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
垃圾回收机制
JVM内存结构
FastJSON
2022
12月
26篇
01月
26篇
2021年120篇
2020年139篇
目录
目录
分类专栏
从头开始学Java基础
12篇
从头开始学Java并发
15篇
从头开始学Java源码
18篇
从头开始学Spring
12篇
从头开始学MyBatis
7篇
从头开始学SpringBoot
33篇
从头开始学SpringCloud
3篇
从头开始学MySQL
23篇
从头开始学Kafka
31篇
从头开始学Redis
31篇
从头开始学ElasticSearch
50篇
从头开始学Java数据采集
48篇
从头开始学Linux
19篇
实操
9篇
目录
评论
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
lwen.steven
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值