开发者社区> 问答> 正文

ES Aggregations Pipeline是什么?

ES Aggregations Pipeline是什么?

展开
收起
游客afijyf435noyu 2021-12-14 11:13:23 489 0
1 条回答
写回答
取消 提交回答
  • image.png

    接下来讲到 ES 强大的聚合能力,聚合其实是做统计,比如 1000 条数据要做一个 SUM 的值,或者 AVG,Min ,Max 等等,这些就叫 Aggregation。在 Elasticsearch 里其实是会根据现实世界融入自己的一些逻辑。图中我们可以看到,聚合一共分成了两次, 初次聚合基于原始索引输入做一次聚合,聚合之后压缩,比如原来有一亿条数据,聚合出来 大概的结果就只有 1 万,然后再基于这 1 万左右的数据又要做二次聚合。在 ES 里这个思维 就叫 Pipeline,可以在官方网站搜索到叫 Elastic Pipeline 的聚合。二次聚合之后,ES 把 第一次和第二次聚合的结果一起推给应用端,这个特性是其他很多数据产品没有的。比如原 本数据库里的 SQL 是做不到的,其他的一些大型产品可能会用到,但是复杂程度极高,所 以比较推荐 ES 这个功能 image.png

    在 Elastic 里,Pipeline 的窗口函数其实提供了很多方式,比如 Aggregation 目前提 供了至少图中这三种方式。比如可以选择 moving avg 计算移动的平均值,通过自定义函 数 moving fn 写自定义脚本等等。

    资料来源于《开源与云Elasticsearch应用剖析》下载地址:https://developer.aliyun.com/topic/download?id=1169

    2021-12-14 12:01:39
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
yR&D To Produvt Pipeline 立即下载
【Flink Day - 02 - 五藏】Flink_Model_and_Modules 立即下载
Accelerating Spark-ML with Redis modules 立即下载