首页 > 其他分享 >Flink白话解析Watermark

Flink白话解析Watermark

时间:2023-05-24 16:13:00浏览次数:32  
标签:窗口 Watermark 白话 Flink 数据 乱序 延迟

一、摘要

如果想使用Flink,Flink的Watermark是很难绕过去的概念。本文帮大家梳理Watermark概念

 

二、Watermark疑问

1、Flink应用的常见需求是什么

如公司运营一个官网,想统计下过去一分钟有多少用户访问官网。一分钟可以理解为Flink的窗口,在这一分钟统计有多少用户。

窗口的作用就是为了周期性获取数据,把传入的流数据根据时间切分成多个桶(buckets)

 

2、Flink使用窗口后,带来的问题

因为流式数据想要按照窗口做统计。因为网络延迟、乱序等原因可能导致客户端发送的某条数据延迟到达服务器。

而处理乱序的数据,则需要用到Watermark、allowedLateness、sideOutPut技术

Watermark:为了防止数据乱序的处理机制

allowedLateness:将窗口再延迟一段时间,比如等2分钟延迟的数据,2分钟到的可以继续计算

sideOutputLateData:最后兜底操作,窗口真正关闭后,延迟数据再过来,则输出到侧输出流。侧输出流数据可以在单独处理或丢弃

数据处理流程总结:Windows--> Watermark--> allowedLateness--> sideOutputLateData

数据处理流程描述:用Windows把流数据分块处理,用Watermark确定什么时候不再等待更早的数据/触发窗口进行计算,用allowLateNess 将窗口关闭时间再延迟一段时间。用sideOutPut 最后兜底把数据导出到其他地方。

3、

 

 

 

 

 

 

标签:窗口,Watermark,白话,Flink,数据,乱序,延迟
From: https://www.cnblogs.com/robots2/p/17428618.html

相关文章

  • flink CEP 讲解 和实例
     1,Flink介绍  Flink是一个分布式的基于状态计算的流处理计算引擎,或者说框架,可以处理有边界流数据和无边界流数据,在内存中执行计算,而且具有任意扩展计算能力。最初由柏林工业大学的xxx小组研发,后被阿里巴巴收购。初略看起来,和spark功能类似,但是某些特征优于spark。 Flin......
  • WM_大屏实时计算深度剖析 flink写es kafka cannal配置 暂时没用
    第1章大屏实时计算深度剖析学习目标目标1:了解实时计算的应用场景目标2:实时流计算的快速入门(Flink的入门使用)目标3:Flink接入技术体系的剖析(hdfs,jdbc,kafka,socket)目标4:Flink数据处理引擎的实战(采用双十一大屏,热销数据统计,区域分类统计,cep复杂事件的处理)目标5:实时......
  • flink流计算框架 使用(详细教程)
    按照Apache官方的介绍,Flink是一个对有界和无界数据流进行状态计算的分布式处理引擎和框架。通俗地讲,Flink就是一个流计算框架,主要用来处理流式数据。其起源于2010年德国研究基金会资助的科研项目“Stratosphere”,2014年3月成为Apache孵化项目,12月即成为Apache顶级项目。Flinken在......
  • Flink MySQL CDC connector 使用注意事项
    注意事项表要有主键库名和表名不能有点号是个BUG,估计后续会修复。表名不能有大写也是个BUG,估计后续会修复。如果表名含有大写的字母,查询时日志可看到如下信息:java.util.concurrent.ExecutionException:java.io.FileNotFoundException:Filedoesnotexist:hdf......
  • Flink ML学习笔记
    概念FlinkML是一个机器学习算法库。用户可以使用标准机器学习API或者自定义机器学习算法来进行离线或在线的模型训练和预测服务。一、环境准备安装1.15及以上版本的flink到本地环境导入flinktableapi相关依赖二、开发中的基本概念1、TableAPIFlinkML的API基于Flink......
  • 消息推送平台的实时数仓?!flink消费kafka消息入到hive
    大家好,3y啊。好些天没更新了,并没有偷懒,只不过一直在安装环境,差点都想放弃了。上一次比较大的更新是做了austin的预览地址,把企业微信的应用和机器人消息各种的消息类型和功能给完善了。上一篇文章也提到了,austin常规的功能已经更新得差不多了,剩下的就是各种细节的完善。不知道大......
  • 启动flink sql 任务
    README.md#howtouse#使用说明##确认是否初始化完成,当前yarn-session管理所有《用户属性任务》##任务名称为:bus_user_info_flinkjobpath=`pwd`00.确认是否已经存在yarnsession`shellyarnapp-list|grepapp_log_2_hudi_flinkJob`1.若未运行yarn......
  • flink中的Keyed State
    Keyedstate是指在Flink中与一个特定key相关联的状态。在Flink中,数据被分区并按key分组。当数据流被分区和分组后,每个key都有一个对应的状态,这就是Keyedstate。它可以用于计算窗口、聚合操作和连续查询等。Keyedstate通常用于在流处理中跟踪关键得分、计数或其他与特定数据点相......
  • 关于白话排序之快速排序以及维基百科的希尔排序
    1、白话排序的快速排序中,“坑”的形象概念,很好好好2、维基百科中,将每次的间隔的元素,不是采用白话中所用的A1、A2等的形式,而是采用直接放在一列,进行列排序的形象概念,很好好好3、希尔排序,最外边一层是gap的减少,里面两层---》插入排序。。。。。。......
  • 启动flink显示ERROR: JAVA_HOME is not set and could not be found.
    问题:JAVA_HOME存在,但启动flink时出现ERROR:JAVA_HOMEisnotsetandcouldnotbefound.原因:环境变量加载顺序不对#/etc/profile.d/hadoop.sh#...exportHADOOP_CLASSPATH=`hadoopclasspath`JAVA_HOME是在java.sh里定义的,而hadoop.sh按照字典序先于java.sh加......