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

网站基础建设和管理百度网盘网页版入口官网

网站基础建设和管理,百度网盘网页版入口官网,wordpress联系浮动,湖南省人民政府办公厅一.countWindow和countWindowall区别 1.countWindow: 如果您使用 countWindow(5),这意味着您将数据流划分成多个大小为 5 的窗口。划分后的窗口如下: 窗口 1: [1, 2, 3, 4, 5]窗口 2: [6, 7, 8, 9, 10] 当每个窗口中的元素数量达到 5 时&…

一.countWindow和countWindowall区别

1.countWindow

如果您使用 countWindow(5),这意味着您将数据流划分成多个大小为 5 的窗口。划分后的窗口如下:

  • 窗口 1: [1, 2, 3, 4, 5]
  • 窗口 2: [6, 7, 8, 9, 10]

当每个窗口中的元素数量达到 5 时,将触发计算。这意味着窗口 1 中的计算会在处理 5 个元素后触发,窗口 2 中的计算会在处理 10 个元素后触发。

2.countWindowAll

假设您有一个数据流,其中的数据元素逐个增加:[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]

现在,我们使用 countWindowAll(5) 来观察这个数据流。

  1. 初始状态:当数据流中的元素数量达到 5 时,即 [1, 2, 3, 4, 5],将会触发第一次计算。

  2. 后续状态:现在,数据流中的元素数量已经超过 5 了,但由于 countWindowAll 会持续监视整个数据流,所以并不会立即触发第二次计算。数据流继续增加。

  3. 再次触发计算:当数据流中的元素数量达到 10,即 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],将会触发第二次计算。这是因为虽然数据流中的元素已经超过 5,但是 countWindowAll 是持续监视整个数据流的元素数量,只有在数据流中的元素数量从不小于 5 变为不小于 10 时,才会再次触发计算。

综上所述,countWindowAll 会持续监视整个数据流的元素数量,只有当元素数量达到阈值并且之前没有达到过,才会触发计算。这使得 countWindowAll 不仅触发一次计算,而是每次在元素数量达到阈值时都会触发计算。

二.countWindow和countWindowall代码验证

1.countWindow
import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.util.Collector;public class WordCountWithCountWindow {public static void main(String[] args) throws Exception {StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();DataStream<String> text = env.socketTextStream("localhost", 9999);DataStream<Tuple2<String, Integer>> counts = text.flatMap(new Tokenizer()).keyBy(0).countWindow(5)  // 使用 countWindow.sum(1);counts.print();env.execute("WordCountWithCountWindow");}public static final class Tokenizer implements FlatMapFunction<String, Tuple2<String, Integer>> {@Overridepublic void flatMap(String value, Collector<Tuple2<String, Integer>> out) {String[] words = value.toLowerCase().split("\\W+");for (String word : words) {if (word.length() > 0) {out.collect(new Tuple2<>(word, 1));}}}}
}

2.countWindowAll

import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStream;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.util.Collector;public class WordCountWithCountWindowAll {public static void main(String[] args) throws Exception {StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();DataStream<String> text = env.socketTextStream("localhost", 9999);DataStream<Tuple2<String, Integer>> counts = text.flatMap(new Tokenizer()).countWindowAll(5)  // 使用 countWindowAll.sum(1);counts.print();env.execute("WordCountWithCountWindowAll");}public static final class Tokenizer implements FlatMapFunction<String, Tuple2<String, Integer>> {@Overridepublic void flatMap(String value, Collector<Tuple2<String, Integer>> out) {String[] words = value.toLowerCase().split("\\W+");for (String word : words) {if (word.length() > 0) {out.collect(new Tuple2<>(word, 1));}}}}
}

三.countWindow和countWindowall两种方式对比

countWindow

应用场景

  • 滑动窗口聚合:适用于需要对连续的数据元素进行滑动窗口聚合计算的场景,例如每处理固定数量的数据点就进行一次平均值、总和等计算。
  • 数据流分段处理:适用于将数据流划分为连续的段进行处理的场景,例如每处理一段数据就执行某种操作。
  • 实时流式处理:在实时数据流处理中,将数据分批次处理,以平稳地处理不断流入的数据。

优势

  • 更精细的控制:可以将数据流划分为多个小窗口,对每个小窗口进行独立的计算,具有更精细的控制。
  • 灵活性:窗口大小可调整,适应不同大小的数据处理需求。
  • 内存管理:每个小窗口的数据量较小,可能更适合内存管理。

劣势

  • 窗口间隔:可能需要更多的逻辑来管理不同窗口之间的数据和计算。

countWindowAll

应用场景

  • 批量数据处理:适用于需要将整个数据集视为一个窗口进行处理的场景,通常用于有限的数据集或一次性处理。
  • 实时报警与监控:适用于监控数据流,一旦累计的数据达到阈值,即触发报警或监控。
  • 小数据集处理:对于较小的数据集,将其作为一个整体进行处理可能更合适。

优势

  • 简单性:将整个数据流作为一个窗口,简化了窗口管理和数据处理逻辑。
  • 全局计算:可以在全局范围内进行计算,不需要关注窗口间隔。

劣势

  • 内存需求:对于大规模的数据流,可能需要更多内存来处理整个数据流。
  • 处理延迟:需要等待整个数据流中的数据达到一定数量才会触发计算,可能会引入一定的处理延迟。

综上所述,选择使用 countWindow 还是 countWindowAll 取决于您的数据处理需求、数据流的规模以及对计算控制和延迟的关注程度。在实际应用中,您可能会根据具体情况选择合适的窗口类型。

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

相关文章:

  • 地方门户网站建设百度快速排名优化服务
  • 网站开发付费视频才能观看百度在线使用
  • 别人做的网站如何要回服务器上海全网营销推广
  • 网站建设有哪几种凡科建站登录入口
  • 上海 网站建设 外包seo云优化软件
  • 网站首页的重要性网站优化比较好的公司
  • 吉林做网站公司杭州seo博客
  • 香港公司能在国内做网站引流推广广告怎么写
  • 北京网站优化团队a5站长网网站交易
  • 武汉一医院网站建设谷歌推广运营
  • wordpress 首页 函数太原seo排名
  • 门窗网站制作宣传语百度大数据平台
  • 网站开发与建设百度seo关键词优化软件
  • 网站建设网址网站制作seo难不难
  • 做兼职网站的项目初衷软文推广的标准类型
  • 无锡网站制作今天特大军事新闻
  • 网站中链接怎么做的seo页面优化技术
  • 用iis做的网站怎么更改端口百度一下你就知道官方网站
  • 山西 网站制作怎么注册网站免费的
  • 如何防止网站被注册性价比高seo排名
  • 西电信息化建设处网站网站建设培训
  • web前端开发电子书冯耀宗seo教程
  • 哪里有个人卖房网站天津seo诊断技术
  • 湛江网站如何制作千峰培训多少钱
  • 响应式网站国内外现状网络营销的特点有哪些?
  • 公众号开发培训衡阳seo
  • 搭建服务平台西安企业seo外包服务公司
  • 产教融合信息门户网站建设方案如何推广
  • 怎么选择手机网站建设搜狗网
  • 哪些网站可以做微信推送站内seo的技巧