ES Aggregations Pipeline是什么?
接下来讲到 ES 强大的聚合能力,聚合其实是做统计,比如 1000 条数据要做一个 SUM 的值,或者 AVG,Min ,Max 等等,这些就叫 Aggregation。在 Elasticsearch 里其实是会根据现实世界融入自己的一些逻辑。图中我们可以看到,聚合一共分成了两次, 初次聚合基于原始索引输入做一次聚合,聚合之后压缩,比如原来有一亿条数据,聚合出来 大概的结果就只有 1 万,然后再基于这 1 万左右的数据又要做二次聚合。在 ES 里这个思维 就叫 Pipeline,可以在官方网站搜索到叫 Elastic Pipeline 的聚合。二次聚合之后,ES 把 第一次和第二次聚合的结果一起推给应用端,这个特性是其他很多数据产品没有的。比如原 本数据库里的 SQL 是做不到的,其他的一些大型产品可能会用到,但是复杂程度极高,所 以比较推荐 ES 这个功能
在 Elastic 里,Pipeline 的窗口函数其实提供了很多方式,比如 Aggregation 目前提 供了至少图中这三种方式。比如可以选择 moving avg 计算移动的平均值,通过自定义函 数 moving fn 写自定义脚本等等。
资料来源于《开源与云Elasticsearch应用剖析》下载地址:https://developer.aliyun.com/topic/download?id=1169
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。