一、依赖

https://www.cnblogs.com/robots2/p/16048648.html

二、代码

概念:滑动窗口有两个参数,窗口大小20和滑动大小6,6秒滑一次,统计近20秒数据

前言:滚动窗口一个时间传参,滑动窗口两个时间传参

window算子用做有keyBy情况,没有使用keyBy做分组的话用windowAll

package net.xdclass.class10;

import org.apache.flink.api.common.RuntimeExecutionMode;
import org.apache.flink.api.java.functions.KeySelector;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.datastream.KeyedStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.api.windowing.assigners.SlidingProcessingTimeWindows;
import org.apache.flink.streaming.api.windowing.assigners.TumblingProcessingTimeWindows;
import org.apache.flink.streaming.api.windowing.time.Time; import net.xdclass.model.VideoOrder;
import net.xdclass.source.VideoOrderSourceV2; /**
* @desc 滑动窗口
* @menu
*/
public class FLink15SlidingWindiwApp { public static void main(String[] args) throws Exception{
//WebUi方式运行
// final StreamExecutionEnvironment env =
// StreamExecutionEnvironment.createLocalEnvironmentWithWebUI(new Configuration());
StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
//设置运行模式为流批一体
env.setRuntimeMode(RuntimeExecutionMode.AUTOMATIC);
//并行度
env.setParallelism(1);
//设置为自定义source
// DataStream<VideoOrder> ds = env.addSource(new VideoOrderSourceV2());
DataStream<VideoOrder> ds = env.addSource(new VideoOrderSourceV2()); KeyedStream<VideoOrder, Object> keyByDs = ds.keyBy(new KeySelector<VideoOrder, Object>() {
@Override
public Object getKey(VideoOrder videoOrder) throws Exception {
return videoOrder.getTitle();
}
}); //window用做有keyBy情况,没有的话用windowAll
//新加个滚动窗口,做5秒开窗。其它字段为创建最早的信息
//滚动和滑动都使用window设置,滑动窗口有两个参数,窗口大小20和滑动大小6,6秒滑一次
//6秒滑一次,统计近20秒数据
DataStream<VideoOrder> sumDs = keyByDs
.window(SlidingProcessingTimeWindows.of(Time.seconds(20),Time.seconds(6)))
.sum("money"); sumDs.print(); //DataStream需要调用execute,可以取个名称
env.execute("Sailing Window job");
}
}

FLink15--滑动窗口--SlidingWindiwApp的更多相关文章

  1. [LeetCode] Sliding Window Maximum 滑动窗口最大值

    Given an array nums, there is a sliding window of size k which is moving from the very left of the a ...

  2. TCP/IP 协议中的滑动窗口

    一个例子明白发送缓冲区.接受缓冲区.滑动窗口协议之间的关系. 在上面的几篇文章中简单介绍了上述几个概念在TCP网络编程中的关系,也对应了几个基本socket系统调用的几个行为,这里再列举一个例子,由于 ...

  3. Storm Windowing storm滑动窗口简介

    Storm Windowing 简介 Storm可同时处理窗口内的所有tuple.窗口可以从时间或数量上来划分,由如下两个因素决定: 窗口的长度,可以是时间间隔或Tuple数量: 滑动间隔(slidi ...

  4. lintcode 滑动窗口的最大值(双端队列)

    题目链接:http://www.lintcode.com/zh-cn/problem/sliding-window-maximum/# 滑动窗口的最大值 给出一个可能包含重复的整数数组,和一个大小为  ...

  5. TCP 三次握手四次挥手, ack 报文的大小.tcp和udp的不同之处、tcp如何保证可靠的、tcp滑动窗口解释

    一.TCP三次握手和四次挥手,ACK报文的大小 首先连接需要三次握手,释放连接需要四次挥手 然后看一下连接的具体请求: [注意]中断连接端可以是Client端,也可以是Server端. [注意] 在T ...

  6. tcp协议头窗口,滑动窗口,流控制,拥塞控制关系

    参考文章 TCP 的那些事儿(下) http://coolshell.cn/articles/11609.html tcp/ip详解--拥塞控制 & 慢启动 快恢复 拥塞避免 http://b ...

  7. CodeForces 701C They Are Everywhere (滑动窗口)

    题目链接:http://codeforces.com/problemset/problem/701/C 题意:找到字符串中能包含所有元素的最短字符串长度. 利用“滑动窗口”解题 解题思路: 1. 遍历 ...

  8. TCP协议总结--停止等待协议,连续ARQ协议,滑动窗口协议

    前言:在学习tcp三次握手的过程之中,由于一直无法解释tcpdump命令抓的包中seq和ack的含义,就将tcp协议往深入的了解了一下,了解到了几个协议,做一个小结. 先来看看我的问题: 这是用tcp ...

  9. uva 1606 amphiphilic carbon molecules【把缩写写出来,有惊喜】(滑动窗口)——yhx

    Shanghai Hypercomputers, the world's largest computer chip manufacturer, has invented a new classof ...

  10. hdu-5497 Inversion(滑动窗口+树状数组)

    题目链接: Inversion Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)T ...

随机推荐

  1. Linux之命令提示神器tldr

    github:tldr-pages/tldr: Collaborative cheatsheets for console commands (github.com) 一款很好用的命令帮助工具, 之前 ...

  2. Vue.js 其他指令

    1.ref标识 通过给HTML标签或者组件标签设定ref属性,根据他的属性值来访问这个HTML元素或者组件 语法:this.$refs.属性值 //为p标签设置ref属性 <div id=&qu ...

  3. 德承工控机DX-1200 成功适配2024年6月6日发布的国产开源系统OpenEuler 24.03 LTS

    基础软件双子星:欧拉系统(OpenEuler)& 鸿蒙系统(OpenHarmony),鸿蒙系统常应用在华为的手机和平板电脑上,大众也较为熟悉,是面向消费电子产品领域的系统:而欧拉系统则是面向服 ...

  4. 前端必须知道的手机调试工具vConsole

    在日常业务中我相信大家多多少少都有移动端的项目,移动端的项目需要真机调试的很多东西看不到调试起来也比较麻烦,今天给大家分享一个我认为比较好用的调试第三方库VConsole ,有了这个库咱们就在手机上看 ...

  5. PictureMarkerSymbol透明的问题

    由于我使用的是位图图片,所以不可能将图片背景处理成透明.不过还是可以通过参数的设定来达到这种效果. PictureMarkerSymbol pPMS = new PictureMarkerSymbol ...

  6. cas5开启Restful接口验证

    ​POM文件中加入rest依赖: <!-- Restful support --> <dependency> <groupId>org.apereo.cas< ...

  7. 小程序,用户授权手机号,node需要检验和解析

    1. 第一步需要先在小程序api文档中下载对应语言的解密算法,解压之后就可以看到 https://developers.weixin.qq.com/miniprogram/dev/framework/ ...

  8. 在 .NET 环境下访问 SOAP 服务

    在 .NET 环境下访问 SOAP 服务 SOAP 服务有着悠久的历史,目前仍然存在大量的 SOAP 服务,它是基于 HTTP 协议和 XML 技术的简单对象访问协议. 在 .NET Framewor ...

  9. SpringBoot项目请求路径中有正反斜杠的处理办法

    在Application中添加静态代码块: //默认情况下Tomcat等服务器是拒绝url中带%2F或者%5C的URL,因为它们经浏览器解析之后就变成了/和\, // 服务器默认是拒绝访问的,所以需要 ...

  10. mybatis-plus逻辑删除不生效的解决办法

    我们在使用mybatis-plus时,一般设备逻辑删除是非常简单的,基本上在yaml等配置文件中做一下配置.然后在字段上注解@TableLogic就可以了.有不清楚的,可以参考https://www. ...