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

个人简介网站源码宁德网站建设

个人简介网站源码,宁德网站建设,平台公司运营模式,网站200m虚拟主机能放多少东西背景 AggregateFunction接口是我们经常用的窗口聚合函数#xff0c;其中有一个merge方法#xff0c;我们一般情况下也是实现了的#xff0c;但是你知道吗#xff0c;其实这个方法只有在你使用会话窗口需要进行窗口合并的时候才需要实现 AggregateFunction.merge方法调用时…背景 AggregateFunction接口是我们经常用的窗口聚合函数其中有一个merge方法我们一般情况下也是实现了的但是你知道吗其实这个方法只有在你使用会话窗口需要进行窗口合并的时候才需要实现 AggregateFunction.merge方法调用时机 AggregateFunction.merge方法其实只有在使用会话窗口进行窗口合并的时候才会用到如下所示 对应的源码首先查看WindowOperator.processElement方法对要合并的窗口的状态进行合并 public void processElement(StreamRecordIN element) throws Exception {final CollectionW elementWindows windowAssigner.assignWindows(element.getValue(), element.getTimestamp(), windowAssignerContext);// if element is handled by none of assigned elementWindowsboolean isSkippedElement true;final K key this.KgetKeyedStateBackend().getCurrentKey();if (windowAssigner instanceof MergingWindowAssigner) {MergingWindowSetW 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 dont merge then// actualWindow windowW actualWindow mergingWindows.addWindow(window,new MergingWindowSet.MergeFunctionW() {Overridepublic void merge(W mergeResult,CollectionW mergedWindows,W stateWindowResult,CollectionW 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, CollectionN sources) throws Exception {if (sources null || sources.isEmpty()) {return; // nothing to do}final StateTableK, 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.dnsts.com.cn/news/94867.html

相关文章:

  • 做网站都需要什么技术怎么做企业网站平台
  • 知名网站有哪些wordpress动漫主题曲
  • 国外的贸易网站大宗交易app下载
  • 网站制作留钱大庆医院网站建设方案
  • 网站开发费的会计处理云主机配置网站
  • 电商平台网站建设功能介绍服装品牌策划及营销推广方案
  • 大气网站首页欣赏一个地址能注册几个公司
  • 境外网站可以备案吗中文网站怎么做英文版
  • 厦门建行网站wordpress无法下载更新
  • 文化类网站的前置审批建设部网站职责划定
  • 创建网站和主页百度推广河南总部
  • 网站建设书籍在线阅读锚文本对网站
  • 网站建设合同按什么交印花税效果图网站发帖平台
  • 做交友类网站适合什么cmswordpress聚合平台模板
  • 三好街做网站公司dedecms网站如何上线
  • 购物网站建设基本流程树状图电商网站有哪些使用场景
  • 铁法能源公司网站注册营业执照网上申请入口
  • 怎么查询网站空间商建设部官网网站
  • 上海网站建设哪里便宜佛山网站建设锐艺传播
  • 仿礼物说网站模板模板网站做外贸可以吗
  • 新浪微博可以做网站吗邢台做移动网站多少钱
  • 做虚拟网站要花多少钱seo网站关键词
  • 房地产企业网站建设外贸网站推广平台蓝颜seo牛
  • 做网站之前备案wordpress做导航页面
  • 网站建设营销外包公司企业内网
  • 新媒体网站建设方案建设网站需要的软硬件
  • 系统之家网站怎么做的wordpress打开空白
  • 关于招聘的网站开发图天元建设集团有限公司施工方案
  • 查找邮箱注册过的网站长春网站制作建设
  • 男女做爰免费网站深圳企业模板建站