首页 > 其他分享 >Flink 中的 Time 有哪⼏种?

Flink 中的 Time 有哪⼏种?

时间:2024-12-28 20:27:22浏览次数:7  
标签:处理 Flink 时间 事件 Time 数据 乱序

  1. 事件时间(Event Time)
    • 概念
      • 事件时间是事件在其产生设备(如传感器、服务器等)上发生的时间。这个时间通常是嵌入在事件数据本身中的一个时间戳字段。例如,在一个物联网应用中,每个传感器采集数据时会记录下采集时刻的时间戳,这个时间戳代表的就是事件时间。
    • 特点与应用场景
      • 处理乱序数据:在实际的大数据处理场景中,数据可能会因为网络延迟、分布式系统的异步传输等因素导致数据乱序到达。事件时间能够很好地处理这种情况。比如,在一个日志分析系统中,来自不同服务器的日志可能会因为网络状况不同而以乱序的方式到达 Flink 集群进行处理。通过事件时间,Flink 可以按照事件实际发生的顺序来处理这些日志,而不是按照它们到达 Flink 的顺序。
      • 准确性要求高的场景:对于金融交易系统中的交易流水处理、电力系统中的电量数据采集等场景,事件时间的准确性至关重要。这些场景需要根据事件实际发生的时间来进行后续的计算和分析,如交易的时效性统计、电量峰谷时段分析等。
    • 窗口操作与事件时间的关联
      • 在 Flink 的窗口操作中,事件时间起着关键作用。例如,在一个基于事件时间的滚动窗口(Tumbling Window)中,窗口的划分是根据事件时间来确定的。假设我们有一个 10 分钟的滚动窗口用于统计网站的点击量,Flink 会根据每个点击事件的事件时间来判断它属于哪个 10 分钟的窗口,即使这些点击事件可能以不同的顺序到达。
  2. 摄取时间(Ingestion Time)
    • 概念
      • 摄取时间是数据进入 Flink 数据流处理系统的时间。当数据从外部数据源(如消息队列、文件系统等)被读取进入 Flink 的数据源操作符时,Flink 会为每个数据元素分配一个摄取时间戳。
    • 特点与应用场景
      • 相对简单的时间模型:摄取时间提供了一个介于事件时间和处理时间之间的时间概念。它比事件时间更容易管理,因为不需要解析和依赖数据本身携带的时间戳。同时,它又比处理时间更能反映数据的新鲜度。例如,在一个简单的实时数据展示系统中,摄取时间可以用于快速展示最新接收到的数据,而不需要深入考虑事件的实际发生时间或者复杂的处理时间逻辑。
      • 部分乱序处理能力:摄取时间对于一定程度的乱序数据也有一定的处理能力。虽然它不如事件时间在处理乱序数据方面那么强大,但在数据乱序程度较轻的场景下,摄取时间可以满足需求。比如,在一个企业内部的实时数据监控系统中,数据的延迟和乱序情况相对可控,摄取时间可以用于及时发现数据的变化趋势。
  3. 处理时间(Processing Time)
    • 概念
      • 处理时间是指数据在 Flink 操作符中进行实际处理的时间。它是基于 Flink 系统的本地时钟来确定的。当一个操作符接收到数据并开始对其进行计算、转换等操作时,此时的系统时钟时间就是处理时间。
    • 特点与应用场景
      • 低延迟和简单性:处理时间是最容易理解和使用的时间概念。它不需要对数据本身的时间戳进行额外的解析,也不需要考虑数据的来源时间或者进入系统的时间。在一些对延迟要求非常高,而对时间准确性要求相对较低的场景中,处理时间是一个很好的选择。例如,在一个实时推荐系统中,当用户发起一个请求时,系统可以使用处理时间来快速生成推荐结果,而不需要等待确定事件的实际发生时间或者数据进入系统的时间。
      • 实时交互性场景:对于一些需要实时与用户进行交互的场景,如在线游戏中的实时反馈、实时聊天系统中的消息处理等,处理时间可以确保系统能够以最快的速度响应用户的操作,提供良好的用户体验。因为这些场景更关注当下的处理速度,而不是严格按照事件发生的时间或者数据进入系统的时间来处理。

标签:处理,Flink,时间,事件,Time,数据,乱序
From: https://blog.csdn.net/pxyxyxy/article/details/144750613

相关文章

  • 基于HTML5 time元素的倒计时jquery插件
    这是一款简单的基于HTML5time元素的倒计时jquery插件。该jquery倒计时插件提供默认的翻牌样式。 在线预览  下载 使用方法在页面中引入jquery、jquery.countdown.js。<scriptsrc="path/to/jquery.min.js"><scriptsrc="path/to/jquery.countdown.js"> HTML......
  • Flink CDC MySQL 同步数据到 Kafka实践中可能遇到的问题
    FlinkCDCMySQL同步数据到Kafka实践中可能遇到的问题一、问题场景[ERROR]CouldnotexecuteSQLstatement.Reason:org.apache.flink.table.api.ValidationException:Theprimarykeyisnecessarywhenenable'Key:'scan.incremental.snapshot.enabled',defau......
  • C# 调用winmm.dll中的setTimeEvent来创建定时器,数量超过16次后出现异常
    在wpf项目中,为了使用毫秒级定时器,调用了windows提供的winmm.dll中的函数,成功实现了毫秒级定时器功能。但是用了一段时候后,在一个场景下,新建定时器超过16次后,程序抛出了异常。后来查询资料,发现该方法在一个进程内只允许创建最大16个定时器。由于这种场景较少,就没做修改。不过有......
  • timeago.js-将datetime时间转化为模糊时间的js工具库
    timeago.js是一个非常简洁、轻量级、不到2kb的很简洁的Javascript库,用来将datetime时间转化成类似于***时间前的描述字符串,例如:“3小时前”。本地化支持,默认自带中文和英文语言,基本够用;之前xxx时间前、xxx时间后;支持自动实时更新;支持npm方式和浏览器script方式;测试用......
  • hangfire.entityframeworkcore这个库因为System.Threading.Timer未停止也未释放而导致
    如题https://github.com/sergezhigunov/Hangfire.EntityFrameworkCore/issues/32publicclassWorker:IBackgroundProcess{publicvoidExecute(BackgroundProcessContextcontext){using(varfetchedJob=connection.FetchNextJob(_queues.ToArray(),context.......
  • java flink 中 ParameterTool params = ParameterTool.fromArgs(args); 是什么意思
    javaflink中ParameterToolparams=ParameterTool.fromArgs(args);是什么意思在ApacheFlink中,ParameterTool是一个用于解析和处理命令行参数的工具类。它提供了一种方便的方式来处理提交作业时传递的参数,或者在作业运行时需要动态读取配置参数的场景。ParameterTool.f......
  • 在Lazarus下的Free Pascal编程教程——在Lazarus中使用计时器组件TTimer
    0.前言我想通过编写一个完整的游戏程序方式引导读者体验程序设计的全过程。我将采用多种方式编写具有相同效果的应用程序,并通过不同方式形成的代码和实现方法的对比来理解程序开发更深层的知识。了解我编写教程的思路,请参阅体现我最初想法的那篇文章中的“1.编程计划”和“2.已......
  • 大数据面试笔试宝典之Flink面试
     1.Flink 是如何支持批流一体的?F link  通过一个底层引擎同时支持流处理和批处理.在流处理引擎之上,F link  有以下机制:1)检查点机制和状态机制:用于实现容错、有状态的处理;2)水印机制:用于实现事件时钟;3)窗口和触发器:用于限制计算范围,并定义呈现结果的时间。在同......
  • SqlSugar 对应数据库 TIME类型
    数据库只存时间,不存日期,ORM框架SqlSugar应该怎么定义字段在SqlSugar中,对应数据库的TIME类型,可以使用TimeSpan类型来表示时间。SqlSugar会在执行数据库操作时,自动处理TimeSpan与数据库的TIME类型之间的转换。以下是一个简单的示例,演示如何在实体类中使用TimeSpan来映射数据库的TI......
  • van-datetime-picker min-date 最小时间
    <van-datetime-pickertype="datetime"title="选择开始时间":min-date="minDate"/>1.当前时间this.minDate=newDate();2.当前时间往后推24小时this.minDate=newDate(Date.now()+24*60*60*100......