流的基本概念

流的基本概念

Streaming 101与Streaming 102原文网页

请添加图片描述

文章目录

  • 流的基本概念
    • 术语
      • 什么是流
      • 无界数据
      • 无界数据处理
      • 有界数据
      • 批处理引擎
      • 流引擎
      • 低延迟、近似、推测结果
      • 正确性
      • 时间推理工具
    • 数据处理模式
      • 使用经典批处理引擎进行有界数据处理
      • 用经典批处理引擎通过临时固定窗口进行无界数据处理
      • 使用经典批处理引擎通过临时固定窗口将无界数据处理为会话
      • 使用流引擎处理无界数据
      • 处理的思考方向
    • 时间域
      • 事件时间域
      • 处理时间域

术语

什么是流

  • 一种数据处理引擎,它设计时考虑了无限的数据集

无界数据

  • 一种不断增长、本质上无限的数据集

无界数据处理

  • 一种持续的数据处理模式,应用于上述类型的无界数据

有界数据

  • 将有限的“批量”数据集称为有界数据

批处理引擎

  • 批处理引擎是那些仅考虑有界数据的引擎,批处理

流引擎

  • 流引擎是考虑无界数据而设计的,流处理

低延迟、近似、推测结果

正确性

  • 流系统需要一种随着时间的推移对持久状态进行检查点的方法

时间推理工具

  • 这使您超越了批处理。用于推理时间的良好工具对于处理不同事件时间偏差的无界、无序数据至关重要。

数据处理模式

使用经典批处理引擎进行有界数据处理

用经典批处理引擎通过临时固定窗口进行无界数据处理

  • 使用批处理引擎的重复运行来处理无界数据集的最常见方法是将输入数据窗口化到固定大小的窗口中,然后将每个窗口作为单独的有界数据源进行处理

使用经典批处理引擎通过临时固定窗口将无界数据处理为会话

使用流引擎处理无界数据

  • 与时间无关

    • 过滤无界数据
    • 对无界数据执行内部联接
  • 计算无界数据的近似值

  • 窗口化

    沿时间边界对数据集进行分区
    事件时间中进度的强大概念,提供了一种推理在无界数据上运行的无序处理系统的完整性的方法。

    • 窗口策略

      • 固定窗口

        • 固定窗口将时间分割成具有固定大小时间长度的片段。
      • 滑动窗口

        • 固定窗口的扩展,滑动窗口由固定长度和固定周期定义。
      • 会话

        • 动态窗口的一个示例,会话由一系列事件组成,这些事件序列由大于某个超时的不活动间隙终止
    • 水印

      水印是关于事件时间的输入完整性的概念

      • 分类

        • 启发式水印
        • 完美水印
      • 缺点

        • 太慢

          • 当任何类型的水印由于已知的未处理数据(例如,由于网络带宽限制而缓慢增长的输入日志)而被正确延迟时,如果水印的进步是您唯一依赖于刺激结果的东西,那么这会直接转化为输出延迟 。
        • 太快

          • 当启发式水印错误地提前于应有的位置时,事件时间可能早于水印到达的数据,因此我稍后创建迟到的数据
        • 完全靠水印是无法保证正确性的

    • 触发器

      触发器是一种机制,用于声明窗口的输出何时应相对于某些外部信号具体化

      • 分类

        • 基于信号的触发器

          • 事件时间进度
          • 处理时间进度
          • 元素计数
          • 标点符号
        • 复合触发器

          • 重复
          • 逻辑与
          • 逻辑或
          • 序列
      • 解决水印的缺点

        • 修补太快
        • 修补太慢
    • 累积

      累积模式指定同一窗口观察到的多个结果之间的关系

      • 模式

        • 丢弃

          • 每个窗格仅包含在该特定窗格期间到达的值
        • 累积

          • 每个窗格包含在 该特定窗格,加上之前窗格中的所有值
        • 累积和撤回

          • 个窗格都包含新的累积模式值以及前一个窗格值的收回

处理的思考方向

  • What:计算什么结果

    • 元素转换计算
  • Where:在事件时间中的哪里计算结果

    • 窗口化

      • 窗口的每个特定输出称为窗口的窗格
  • When:在处理时间内何时实现结果?

    • 水印

    • 触发器

    • 允许延迟

      • 窗口的生命周期,相当于水印可以延迟多久
  • How:结果的细化如何关联?

    • 累积

时间域

事件时间域

事件实际发生的时间

  • 按事件时间划分为固定窗口

  • 按事件时间划分会话窗口

  • 优点

    • 事件时间正确性
    • 您可以创建动态大小的窗口
  • 缺点

    • 由于窗口寿命延长,需要更多的数据缓冲
    • 难以验证完整性

处理时间域

在处理过程中观察到事件的时间

  • 按处理时间划分为固定窗口

  • 优点

    • 实现简单
    • 判断窗口完整性很简单
  • 缺点

    • 无法友好的按事件发生时间要求的处理数据
    • 当输入的顺序发生变化时,窗口的内容也会发生变化。

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

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

相关文章

物联网无线通信方式总结

本文主要内容(一些物联网无线通信方式) 本文将介绍一些物联网无线通信方式的技术特点、底层调制方式和主要应用场景物联网无线通信方式是指利用无线技术实现物体之间的信息交换和网络连接的方式物联网无线通信方式的选择需要考虑多种因素,如传输距离、功耗、数据速…

天翼物联、汕头电信与汕头大学共建新一代信息技术与数字创新(物联网)联合实验室

近日,在工业和信息化部和广东省人民政府共同主办的2023中国数字经济创新发展大会上,天翼物联、汕头电信与汕头大学共建“新一代信息技术与数字创新(物联网)”联合实验室签约仪式举行。汕头大学校长郝志峰、中国电信广东公司总经理…

字符集与字符编码

目录 一、字符集概述二、Unicode三、Unicode字符集四、Unicode编码规则五、Unicode字符编码规则 UTF-8六、Unicode 字符编码规则 UTF-16七、Unicode 字符编码规则 UTF-32八、UTF 字节顺序标记(BOM)九、Windows 代码页十、Windows(ANSI) 字符集十一、GB2312、GBK、GB18030 一、字…

leetcode原题: 堆箱子(动态规划实现)

题目: 给你一堆n个箱子,箱子宽 wi、深 di、高 hi。箱子不能翻转,将箱子堆起来时,下面箱子的宽度、高度和深度必须大于上面的箱子。实现一种方法,搭出最高的一堆箱子。箱堆的高度为每个箱子高度的总和。 输入使用数组…

elelementui组件

一、按钮 1、按钮样式 使用type、plain、round和circle属性来定义 Button 的样式。 2、主要代码 <el-row><el-button>默认按钮</el-button><el-button type"primary">主要按钮</el-button><el-button type"success">…

SQL函数和过程

一、存储过程概述 1.1 理解 含义&#xff1a;存储过程的英文是 Stored Procedure 。它的思想很简单&#xff0c;就是一组经过 预先编译 的 SQL 语句 的封装。 执行过程&#xff1a;存储过程预先存储在 MySQL 服务器上&#xff0c;需要执行的时候&#xff0c;客户端只需要向服…

DataLoader PyTorch 主要参数的含义

定义&#xff1a; DataLoader类是一个用于从数据集&#xff08;dataset&#xff09;中加载数据&#xff0c;并以迭代器&#xff08;iterator&#xff09;的形式返回数据样本&#xff08;data samples&#xff09;的工具。您给出的两个字典&#xff08;dictionary&#xff09;分…

(三)行为模式:2、命令模式(Command Pattern)(C++示例)

目录 1、命令模式&#xff08;Command Pattern&#xff09;含义 2、命令模式的UML图学习 3、命令模式的应用场景 4、命令模式的优缺点 5、C实现命令模式的实例 1、命令模式&#xff08;Command Pattern&#xff09;含义 命令模式&#xff08;Command&#xff09;&#xff…

简单屏幕共享 通过web screego windows 生成证书

生成证书用 linux 生成&#xff0c;在 windows 下使用 windows 生成证书 https://juejin.cn/post/6925006735933440014 下载地址 https://github.com/screego/server/releases 修改完配置后&#xff0c;运行 screego serve 需要修改的几个地方 # 局域网 ip 或公网 ip&…

1. HBase中文学习手册之揭开HBase的神秘面纱

揭开Hbase的神秘面纱 1.1 欢迎使用 Apache Hbase1.1.1 什么是 Hbase?1.1.2 Hbase的前世今生1.1.3 HBase的技术选型&#xff1f;1.1.3.1 不适合使用 HBase的场景1.1.3.2 适合使用 HBase的场景 1.1.4 HBase的特点1.1.4.1 HBase的优点1.1.4.2 HBase的缺点 1.1.5 HBase设计架构 1.…

1.Flink源码编译

目录 1.环境版本 1.1 jdk 1.2.maven 1.3.node 1.4.scala 2.下载flink源码 3.编译源码 4.idea打开flink源码 5.运行wordcount 1.环境版本 软件地址 链接&#xff1a;https://pan.baidu.com/s/1ZxYydR8rBfpLCcIdaOzxVg 提取码&#xff1a;12xq 1.1 jdk 1.2 maven 1.…

详解react 15~18新增特性

React 15.x 版本的新增特性&#xff1a; 创建组件类&#xff1a;在 React 15 中&#xff0c;可以使用 createClass 方法来创建组件类。这个方法允许你定义组件的生命周期方法、渲染函数以及其他功能。 PropTypes&#xff1a;React 15 引入了 PropTypes&#xff0c;它是一种用于…

Ubuntu22.04编译安装Mysql5.7.35

新升级的ubuntu22.04版本&#xff0c;该版本默认openssl已经升级到3.0&#xff0c;所以编译过程遇到一些问题记录一下。 编译步骤&#xff1a; 安装依赖 gcc g已经安装过就不需要再安装了。 apt-get install cmake apt-get install libaio-dev apt-get install libncurses5…

SpringBoot 2.7 集成 Netty 4 模拟服务端与客户端通讯入门教程

文章目录 1 摘要2 核心 Maven 依赖3 核心代码3.1 服务端事务处理器 (DemoNettyServerHandler)3.2 服务端连接类(InitNettyServer)3.3 客户端事务处理器(DemoNettyClientHandler)3.4 客户端连接类(DemoNettyClient) 4 测试4.1 测试流程4.2 测试结果4.3 测试结论 5 推荐参考资料6…

中国缝纫线行业调研与投资方向报告(2023版)

内容简介&#xff1a; 缝纫线按原材料主要分为天然纤维线及合成纤维线两大类。天然纤维线由棉花、羊毛或蚕丝制成&#xff0c;其中棉线最常用&#xff0c;也更适合于缝制内衣等精细织物。合成织维线的原材料可为涤纶、尼龙&#xff08;锦纶&#xff09;等&#xff0c;其中涤纶…

Linux centos7 统计文本文件中所有单词

统计文本文件中高频词是常见操作&#xff08;参考文章&#xff1a;Linux centos7 高频词统计&#xff09;。而查找并统计文本文件中共有多少单词&#xff08;独立字符串&#xff0c;包括中文或数字串&#xff09;也是一项很好地实践项目。 本文主要应用命令替换、循环结构、so…

Go 1.21中值得关注的几个变化

美国时间2023年8月8日&#xff0c;Go团队在Go官博上正式发布了1.21版本[2]&#xff01; 早在今年4月末&#xff0c;我就撰写了文章《Go 1.21新特性前瞻[3]》&#xff0c;对Go 1.21可能引入的新特性、新优化和新标准库包做了粗略梳理。 在6月初举办的GopherChina 2023大会上[4]&…

Docker(二) Docker容器

在docker中的容器都是由镜像所创建的&#xff0c;一个镜像可以创建多个容器。 一、调试Docker 启动Docker systemctl start docker 查看Docker中有哪些镜像 docker images 下载镜像 docker pull hello-world 运行镜像 docker run hello-world 出现 Hello from Docker! 这…

【官方中文文档】Mybatis-Spring #注入映射器

注入映射器 与其在数据访问对象&#xff08;DAO&#xff09;中手工编写使用 SqlSessionDaoSupport 或 SqlSessionTemplate 的代码&#xff0c;还不如让 Mybatis-Spring 为你创建一个线程安全的映射器&#xff0c;这样你就可以直接注入到其它的 bean 中了&#xff1a; <bea…

Python 从入门到实践第3版(中文版)正式版+编制版+电子版

Python编程&#xff1a;从入门到实践&#xff08;第3版&#xff09; ([美] 埃里克 • 马瑟斯&#xff08;Eric Matthes&#xff09;) 2023 (Z-Library)