当前位置: 首页 > news >正文

设计公司推荐seo属于运营还是技术

设计公司推荐,seo属于运营还是技术,吃什么补肾壮阳,柳州建设网app背景 AggregateFunction接口是我们经常用的窗口聚合函数,其中有一个merge方法,我们一般情况下也是实现了的,但是你知道吗,其实这个方法只有在你使用会话窗口需要进行窗口合并的时候才需要实现 AggregateFunction.merge方法调用时…

背景

AggregateFunction接口是我们经常用的窗口聚合函数,其中有一个merge方法,我们一般情况下也是实现了的,但是你知道吗,其实这个方法只有在你使用会话窗口需要进行窗口合并的时候才需要实现

AggregateFunction.merge方法调用时机

AggregateFunction.merge方法其实只有在使用会话窗口进行窗口合并的时候才会用到,如下所示
在这里插入图片描述

对应的源码首先查看WindowOperator.processElement方法对要合并的窗口的状态进行合并

public void processElement(StreamRecord<IN> element) throws Exception {final Collection<W> elementWindows =windowAssigner.assignWindows(element.getValue(), element.getTimestamp(), windowAssignerContext);// if element is handled by none of assigned elementWindowsboolean isSkippedElement = true;final K key = this.<K>getKeyedStateBackend().getCurrentKey();if (windowAssigner instanceof MergingWindowAssigner) {MergingWindowSet<W> mergingWindows = getMergingWindowSet();for (W window : elementWindows) {// adding the new window might result in a merge, in that case the actualWindow// is the merged window and we work with that. If we don't merge then// actualWindow == windowW actualWindow =mergingWindows.addWindow(window,new MergingWindowSet.MergeFunction<W>() {@Overridepublic void merge(W mergeResult,Collection<W> mergedWindows,W stateWindowResult,Collection<W> mergedStateWindows)throws Exception {triggerContext.key = key;triggerContext.window = mergeResult;triggerContext.onMerge(mergedWindows);for (W m : mergedWindows) {triggerContext.window = m;triggerContext.clear();deleteCleanupTimer(m);}// 合并窗口的状态windowMergingState.mergeNamespaces(stateWindowResult, mergedStateWindows);}});

继续查看AbstractHeapMergingState.mergeNamespaces方法,

public void mergeNamespaces(N target, Collection<N> sources) throws Exception {if (sources == null || sources.isEmpty()) {return; // nothing to do}final StateTable<K, N, SV> map = stateTable;SV merged = null;// merge the sourcesfor (N source : sources) {// get and remove the next source per namespace/keySV sourceState = map.removeAndGetOld(source);if (merged != null && sourceState != null) {//此处合并状态并调用AggregateFunction.merge方法merged = mergeState(merged, sourceState);} else if (merged == null) {merged = sourceState;}}// merge into the target, if neededif (merged != null) {map.transform(target, merged, mergeTransformation);}
}//真正调用AggregateFunction.merge方法合并自定义的状态
@Override
protected ACC mergeState(ACC a, ACC b) {return aggregateTransformation.aggFunction.merge(a, b);
}

这样AggregateFunction.merge的调用过程就清楚了,实际应用中,我们只需要在使用会话窗口时才需要实现这个方法,其他的基于时间窗口的方式不需要实现这个方法,当然实现了也不会有错

http://www.mmbaike.com/news/55001.html

相关文章:

  • 海口企业免费建站国内外搜索引擎大全
  • 做网站判多少年韩国今日特大新闻
  • 库尔勒北京网站建设app关键词推广
  • 管理咨询是做什么的seo外链工具下载
  • seo网站查询网络宣传推广方法
  • 在家办厂小型加工项目商丘seo教程
  • 无锡做推广的网站seo网站推广助理招聘
  • ftp网站 免费杭州百度优化
  • 贵州网站备案seo外包 杭州
  • dw做存资料网站淘宝搜索关键词查询工具
  • 跨境电商独立站是什么意思如何创建一个属于自己的网站
  • 做网站四百全包深圳seo
  • html5网站建站书百度seo是什么意思呢
  • 网站管理系统怎么做seo网络推广什么意思
  • 广西营销型网站公司网站源码下载
  • 怎么上传网站模板今日广州新闻头条
  • 江西建设信息网站英雄联盟世界排名
  • 政府采购网招标公告官网seo一般包括哪些内容
  • 深圳西乡建网站最新提升关键词排名软件
  • 需要推销自己做网站的公司网站app开发公司
  • 高毅资产网站谁做的怀化网站seo
  • 自助网站建设方案管理方面的培训课程
  • 菜鸟必读 网站被入侵后需做的检测 1谷歌关键词优化怎么做
  • wordpress 中文标签插件重庆seo整站优化设置
  • 科技政策要聚焦自立自强seo网站快排
  • 做网站公司做网站公司优化20条措施
  • 网站优化是什么怎样优化标题关键词
  • vr模式的网站建设公司网络推广员上班靠谱吗
  • 网上做流量对网站有什么影响吗seo学校培训
  • 网站排名优化外包公司查看百度关键词价格