flink reduce使用详解

命运对每个人都是一样的,不一样的是各自的努力和付出不同,付出的越多,努力的越多,得到的回报也越多,在你累的时候请看一下身边比你成功却还比你更努力的人,这样,你就会更有动力。

导读:本篇文章讲解 flink reduce使用详解,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

前言

对MapReduce开发流程比较熟悉的同学,对MapReduce的数据处理流程和原理应该比较清晰,顾名思义,Map阶段对数据进行打散,打散后进行数据的初步拆分,然后输出到Reduce阶段,而Reduce阶段是对数据进行规整、汇集,最终得到期望的输出结果

这个思想同样可运用于此处flink的reduce处理的理解,在flink 的API中,Reduce的解释如下:

一个分组数据流的聚合操作,合并当前的元素和上次聚合的结果,产生一个新的值,返回的流中包含每一次聚合的结果,而不是只返回最后一次聚合的最终结果

通俗来讲,就是对上一步得到的输出流进行进一步的归集,上一步的流是哪些呢?比如上一篇中我们谈到的通过聚合算子得到的KeyedStream , 经过分组后的KeyedStream 里面包含了分组的结果信息

那么reduce要做的事情就是,针对上一步经过分组后的KeyedStream的分组信息,做进一步的数据聚合,比如获取分组数据中的最小值、最大值等

下面来看一个具体的需求:

对文本中的数据进行聚合统计后分组处理,然后再输出每个分组中的最小问题

仍然以上一篇的输入文本数据为例,

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之家整理,本文链接:https://www.bmabk.com/index.php/post/143325.html

(0)
飞熊的头像飞熊bm

相关推荐

发表回复

登录后才能评论
极客之家——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!