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

Flink实现准确和高效流处理的关键问题

时间相关:
时间相关

Watermark 水位线

  • 水位线是插入到数据流中的一个标记,可以认为是一个特殊的数据。
  • 水位线主要的内容是一个时间戳,用来表示当前事件时间的进展
  • 水位线是基于数据的时间戳生成的。
  • 水位线的时间戳必须单调递增,以确保任务的事件时间时钟一直向前推进,进展
  • 水位线可以通过设置延迟,来保证正确处理乱序数据。
  • 一个水位线 Watermark(t),表示在当前流中事件时间已经达到了时间戳 t,这代表 t之前的所有数据都到齐了,之后流中不会出现时间戳 t‘ ≤ t 的数据。

Watermark 多并行度下的生成、传递

生成:
  • 间歇性更新(punctuated watermarks):
    遇到新事件后更新

With punctuated watermarks, Flink calls checkAndGetWatermark() on each new event, i.e. right after calling assignWatermark(). An actual watermark is emitted only if checkAndGetWatermark() returns a non-null value which is greater than the last watermark.
来自stackoverflow回答

  • 周期性更新
    定期更新

With periodic watermarks, Flink calls getCurrentWatermark() at regular interval, independently of the stream of events.

设置周期性更新的时间

// 设置Watermar

相关文章:

  • Keycloak SSO 如何验证已添加的 SPN 是否生效
  • 3个让你爽到爆炸的学习工具
  • IP地址配置
  • 解决跨域问题(vite、axios/koa)
  • el-dropdown的command方法添加自定义参数
  • 【项目实践】贪吃蛇
  • N-gram算法的pytorch代码实现
  • CPU的核心数和线程数
  • C语言 | Leetcode C语言题解之第213题打家劫舍II
  • 面试突击指南:Java基础面试题4
  • SpringBoot项目,配置文件pom.xml的结构解析
  • 云计算【第一阶段(23)】Linux系统安全及应用
  • 2024最新软件测试面试题。内附答案+文档
  • centos7一键离线安装NFS服务
  • maven-surefire-report-plugin插件生成测试报告
  • [译]如何构建服务器端web组件,为何要构建?
  • Android开源项目规范总结
  • Bytom交易说明(账户管理模式)
  • leetcode-27. Remove Element
  • Less 日常用法
  • mysql 数据库四种事务隔离级别
  • Python 反序列化安全问题(二)
  • redis学习笔记(三):列表、集合、有序集合
  • yii2权限控制rbac之rule详细讲解
  • 飞驰在Mesos的涡轮引擎上
  • 关于List、List?、ListObject的区别
  • 经典排序算法及其 Java 实现
  • 力扣(LeetCode)965
  • 聊聊sentinel的DegradeSlot
  • 使用Maven插件构建SpringBoot项目,生成Docker镜像push到DockerHub上
  • 一个JAVA程序员成长之路分享
  • PostgreSQL之连接数修改
  • 阿里云IoT边缘计算助力企业零改造实现远程运维 ...
  • ​Python 3 新特性:类型注解
  • ​学习笔记——动态路由——IS-IS中间系统到中间系统(报文/TLV)​
  • #window11设置系统变量#
  • (6)设计一个TimeMap
  • (C++)八皇后问题
  • (C++17) std算法之执行策略 execution
  • (二)【Jmeter】专栏实战项目靶场drupal部署
  • (分享)一个图片添加水印的小demo的页面,可自定义样式
  • (附源码)基于SSM多源异构数据关联技术构建智能校园-计算机毕设 64366
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • ... 是什么 ?... 有什么用处?
  • .bat批处理出现中文乱码的情况
  • .NET Framework杂记
  • .Net Redis的秒杀Dome和异步执行
  • .NET/C# 的字符串暂存池
  • .net程序集学习心得
  • .NET建议使用的大小写命名原则
  • .net专家(张羿专栏)
  • @ConditionalOnProperty注解使用说明
  • @EnableAsync和@Async开始异步任务支持
  • @Transactional 竟也能解决分布式事务?
  • [ C++ ] STL---string类的模拟实现