Flink官方例子解析:带窗口的WordCount

news2024/11/20 23:24:51

1. 简介

本篇介绍的是带窗口的WordCount,使用窗口函数countWindow。
countWindow是一种计数窗口,有固定窗口和滑动窗口两种用法。

1.1 固定窗口

countWindow(windowSize) , windowSize指的是窗口大小。
例如countWindow(5), 说明一个窗口可以容纳5个元素(对象),当元素的个数达到5个时,触发计算。

1.2 滑动窗口

countWindow(windowSize, slideSize), windowSize指的是窗口大小,slideSize是滑动步长。
例如countWindow(5, 2), 说明一个窗口可以容纳5个元素(对象),窗口每进来2个元素都会触发计算,当元素的个数达到5个时,也会触发计算。

2. countWindow WordCount需要实现的功能

  1. 监听指定目录下的文件,读取文件的文本内容;如果未指定监听路径,则读取静态的字符串变量
  2. 分词
  3. 每个单词每出现2次输出一次,当频率达到5次时输出一次
  4. 把结果打印输出

参数说明:
--input 指定监听目录, 非必填
--output 指定结果输出的文件路径, 非必填
--discovery-interval 指定监听的间隔时间, 非必填
--execution-mode 指定Flink的执行模式,非必填,默认为STREAMING模式
--windowSize 窗口大小,非必填,默认250
--slideSize 滑动步长,非必填,默认150

3. 代码实现

DataStream<Tuple2<String, Integer>> counts =      
        text
        // 分词处理,等到二元组 (word, 1) , 
        .flatMap(new WordCount.Tokenizer())  
        .name("tokenizer")  
        // 按单词分组,f0指的是二元组中的第一个字段       
        .keyBy(value -> value.f0)  
        // 设置滑动窗口  
        .countWindow(windowSize, slideSize)  
        //对二元组的第二个字段累加               
        .sum(1)  
        .name("counter");

获取完整代码请参考文章: Flink官方例子解析:Flink源码子项目flink-examples

4. 执行效果

4.1 在IDEA IntelliJ中配置程序的参数

在这里插入图片描述

--window 5 --slide 2

5. 结语

本篇到此结束,欢迎订阅Flink专栏,学习更多Flink的相关知识。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/191128.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

零基础机器学习做游戏辅助第七课--模型的保存与加载

一、保存模型 当我们训练好模型后将它保存下来,这样下次使用时就可以直接加载模型进行工作了。 常见的保存模型有三种: 只保存权重文件:model.save_weights(num_weights) 当我们使用save_weights保存权重文件时,没有指定后缀名,则会保存三个文件在指定目录下

linux 下ARC的中断机制

linux 下ARC的中断机制 一、Idu 中断控制器初始化 Idu 是arc 处理器内部中断控制模块&#xff0c; 类似于arm 内部的gic 中断控制模块 首先&#xff0c;Idu中断控制器在初始化时, 会解析DTS信息中定义了几个idu控制器&#xff0c;每个Idu控制器注册一个struct irq_domain数据…

嵌入式Linux系统开发笔记(十三)

U-Boot烧写验证测试 正点原子专门编写了一个软件来将编译出来的.bin 文件烧写到 SD 卡中&#xff0c;这个软件叫做“imxdownload” 【1】将 imxdownload 拷贝到工程根目录下 【2】给予 imxdownload 可执行权限 我们直接将软件 imxdownload 从 Windows 下复制到 Ubuntu 中以…

【干货】Windows下cmd中cd命令的使用方法

【干货】Windows下cmd中cd命令的使用方法什么是cd命令cd命令的使用打开cmdcd命令的常用方法进入某个盘进入某个目录返回上一级目录返回至当前工作目录下的根目录参考什么是cd命令 此处介绍两个概念&#xff1a; cmd&#xff1a;命令提示符cd&#xff1a;全称change directory…

model.train()与model.val()

一、问题描述 需要将mmpose框架下训练的模型单独保存出来&#xff0c;做后续处理。用torch.save()直接保存模型mmpose_model.pt&#xff0c;然后重新搭建模型&#xff0c;把保存的模型参数加载进去&#xff0c;得到scratch_model.pt使用scratch_model.pt进行推理&#xff0c;与…

基于Jmeter的百万级tps性能测试实践

【CSDN 编者按】如何对系统的承载能力和响应时间做出准确的评估&#xff0c;为资源的合理配置及优化提供依据&#xff0c;性能测试就成了必不可少的测试手段&#xff0c;本文会给读者推荐一款业界占有率最高的一款性能测试工具——Jmeter。 本文作者朱凯是环信测试主管&#x…

TCP实现回显服务器及客户端

目录 前言&#xff1a; Socket API SeverSocket API TCP中的长短连接 TCP实现回显服务器 代码实现&#xff08;有详细解释&#xff09; TCP实现回显客户端 代码实现&#xff08;有详细注释&#xff09; 小结&#xff1a; 前言&#xff1a; 上篇文章介绍了TCP的特点。由…

195136-58-4,2‘,7‘-Difluorofluorescein,2,7-二氟荧光素

产品描述&#xff1a;2&#xff0c;7-二氟荧光素中Fluorescein (Uranine) 生物应用中的荧光示踪剂&#xff0c;Fluorescein (Uranine) 是一种具有代表性的绿色荧光团&#xff0c;已被广泛用作实用绿色荧光探针的支架。结构式&#xff1a;理论分析&#xff1a;中文名&#xff1a…

1608_PC汇编语言_first例程分析

全部学习汇总&#xff1a; GreyZhang/g_unix: some basic learning about unix operating system. (github.com) 这一次的笔记主要是梳理一个例程以及部分辅助信息。 为什么要学习汇编语言呢&#xff1f;现在的高级语言开发效率高&#xff0c;而且有着不错的效率&#xff0c;是…

Compose之跨平台Activity页面

前言 Compose(Jetpackjb)是可以跨平台的 目前跨平台主流的页面导航方式一般有两种 一种是都在同一个页面内进行页面替换类型的导航,类似于单Activity,多Fragment 另一种是不同的页面在不同的页面载体上,类似多Activity 两种页面导航方式都可以使用,但我比较偏向于使用多Ac…

加密签名算法

序言如果我们要消费的一段字符串没有唯一标识,我们该如何防止重复消费.cuiyaonan2000163.com背景信息加密加密技术是最常用的安全保密手段&#xff0c;利用技术手段把重要的数据变为乱码&#xff08;加密&#xff09;传送&#xff0c;到达目的地后再用相同或不同的手段还原&…

【虚拟仿真】Unity3D中实现鼠标悬浮模型上显示文字

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 在仿真项目开发中&#xff0c;会遇到让鼠标悬浮模型后显示模型…

《流浪地球2》MOSS出圈,现实中的量子计算机长啥样?

科技云报道原创。 春节档科幻电影《流浪地球2》上映后&#xff0c;影片中被誉为“全场最有价值道具”的智能量子计算机MOSS&#xff08;代号550W&#xff09;火了&#xff01; 如果你看完了片尾彩蛋&#xff0c;会发现MOSS或许是整个流浪地球系列电影中的最大反派&#xff0c…

支持向量机-数学模型

支持向量机&#xff08;support vector machines, SVM&#xff09;是一种二分类模型。基本模型是定义在特征空间上的间隔最大的线性分类器&#xff1b;学习策略&#xff1a;间隔最大化&#xff1b;学习算法&#xff1a;求解凸二次规划的最优化算法。 支持向量机分为线性可分支…

自动驾驶感知——激光雷达基本概念|激光雷达点云|激光雷达的标定

文章目录1. 激光雷达基本概念1.1 激光雷达特点1.2 激光雷达测距原理1.2.1 系统组成1.2.2 激光雷达测距原理1.3 常见的激光雷达1.3.1 机械旋转式激光雷达1.3.2 Velodyne HDL-64E1.3.3 固态激光雷达1.3.4 Flash型固态激光雷达1.3.5 相控阵固态激光雷达1.3.6 MEMS型固态激光雷达1.…

NX二开ufun函数UF_MODL_create_surf_from_cloud(使用现有点创建B曲面)

本节主要讲使用现有点创建B曲面的ufun函数UF_MODL_create_surf_from_cloud&#xff0c;这些点可以按任何顺序出现&#xff0c;但是必须有足够的点来定义平面。 先看实例效果图&#xff1a; 1、函数结构 int UF_MODL_create_surf_from_cloud &#xff08; int point_cnt&#…

双栏Latex模板插入多个图片的各种排布

目录 问题描述&#xff1a; 问题解决&#xff1a; 1. 插入一个图片 示意图如下&#xff1a; 2.插入2x1两个图片&#xff1a;2x1 示意图如下&#xff1a; 3. 插入1x2两个图片&#xff1a;1x2 示意图如下&#xff1a; 4.插入2x2两个图片&#xff1a;2x2 示意图如下&…

shell脚本set -eu引起的学习笔记

本文将介绍Bash中 set -euxo pipefail 大佬的文章学习膜拜体验&#xff0c;它们可以帮助你写出更容易维护也更安全的脚本。这也是Bash脚本的终极调试手段&#xff0c;希望你以后在自己的脚本中加上这么一行&#xff0c;头顶也能少秃一点 今天打开一个脚本《JetsonNano使能SPI总…

00后真的是躺平的一代吗?已经被公司新来的00后卷哭了

2023年开年了&#xff0c;公司也来了许多新面孔&#xff0c;其中居然有一个是00年的&#xff0c;虽然也给公司带来了一些新的血液&#xff0c;但也让我意识到&#xff0c;自己年级确实不小了。这小老弟是去年毕业的&#xff0c;在某软件公司干了半年&#xff0c;现在跳槽到我们…

java常用类: String,StringBuffer和StringBuilder的底层区别

java常用类型: Ineteger等包装类 String类&#xff0c;StringBuffer类和StringBuilder类 Math类及常用方法 System类及常用方法 Arrays类及常用方法 BigInteger类和BigDecimal类及常用方法 日期类Date类,Calender类和LocalDateTime类 文章目录String介绍String创建细节String s…