流的基本概念

流的基本概念

Streaming 101与Streaming 102原文网页

请添加图片描述

文章目录

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

术语

什么是流

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

无界数据

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

无界数据处理

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

有界数据

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

批处理引擎

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

流引擎

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

低延迟、近似、推测结果

正确性

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

时间推理工具

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

数据处理模式

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

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

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

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

使用流引擎处理无界数据

  • 与时间无关

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

  • 窗口化

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

    • 窗口策略

      • 固定窗口

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

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

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

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

      • 分类

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

        • 太慢

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

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

    • 触发器

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

      • 分类

        • 基于信号的触发器

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

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

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

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

      • 模式

        • 丢弃

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

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

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

处理的思考方向

  • What:计算什么结果

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

    • 窗口化

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

    • 水印

    • 触发器

    • 允许延迟

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

    • 累积

时间域

事件时间域

事件实际发生的时间

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

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

  • 优点

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

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

处理时间域

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

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

  • 优点

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

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

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

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

相关文章

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

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

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.…

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…

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! 这…

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

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

java八股文面试[数据结构]——List和Set的区别

List和Set是用来存放集合的接口&#xff0c;并且二者都继承自接接口Collection List 中的元素存放是有序的&#xff0c;可以存放重复的元素&#xff0c;检索效率较高&#xff0c;插入删除效率较低。 Set 没有存放顺序不能存放重复元素检索效率较低&#xff0c;插入删除效率较…

学习笔记230818---对于promise失败状态处理的重要性

问题描述&#xff1a; 在项目中经常会出现如上的问题&#xff0c;这是因为&#xff0c;用promise封装的接口或第三方组件方法&#xff0c;如果只对成功的状态做处理&#xff0c;就会造成页面出错&#xff0c;报error。 解决方法 then()的末尾加上.catch(()>{})对失败的状态…

C++类和对象----封装(观看黑马教程整理的笔记)

1、简介 C面向对象的三大特性为&#xff1a;封装、继承、多态 C认为万事万物都皆为对象&#xff0c;对象上有其属性和行为 例如&#xff1a; ​ 人可以作为对象&#xff0c;属性有姓名、年龄、身高、体重…&#xff0c;行为有走、跑、跳、吃饭、唱歌… ​ 车也可以作为对象…

线程与进程,你真得理解了吗

线程与进程&#xff0c;你真得理解了吗 1 进程与线程的关系和区别2 并行与并发3 线程共享了进程哪些资源 相信大家面试时一定没少被一个问题刁难&#xff0c;那就是进程和线程的区别是什么&#xff1f;这个问题延申开来并不像表面那么简单&#xff0c;今天就来深入一探。 开始…

无涯教程-PHP - 标量函数声明

在PHP 7中&#xff0c;引入了一个新函数&#xff0c;即标量类型声明。标量类型声明有两个选项- Coercive - 强制性是默认模式。Strict - 严格模式必须明确提示。 可以使用上述模式强制执行以下类型的函数参数- intfloatbooleanstringinterfacesarraycallable 强制模…

【Unity】如何制作小地图

我们为什么要制作小地图呢&#xff1f; 原因很简单&#xff1a; 导航和定位&#xff1a;小地图可以显示玩家当前位置以及周围环境的概览。这使得玩家能够更好地导航和定位自己在游戏中的位置&#xff0c;找到目标或避开障碍物。场景了解&#xff1a;通过小地图&#xff0c;玩…

Windows10上VS2022单步调试FFmpeg 4.2源码

之前在 https://blog.csdn.net/fengbingchun/article/details/103735560 介绍过通过VS2017单步调试FFmpeg源码的方法&#xff0c;这里在Windows10上通过VS2022单步调试FFmpeg 4.2的方法&#xff1a;基于GitHub上ShiftMediaProject/FFmpeg项目&#xff0c;下面对编译过程进行说明…