排行
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
中国数据库
向量数据库
时序数据库
实时数据库
搜索引擎
空间数据库
图数据库
数据仓库
大调查
2021年报告
2022年报告
年度数据库
2020年openGauss
2021年TiDB
2022年PolarDB
2023年OceanBase
首页
资讯
活动
大会
学习
课程中心
推荐优质内容、热门课程
学习路径
预设学习计划、达成学习目标
知识图谱
综合了解技术体系知识点
课程库
快速筛选、搜索相关课程
视频学习
专业视频分享技术知识
电子文档
快速搜索阅览技术文档
文档
问答
服务
智能助手小墨
关于数据库相关的问题,您都可以问我
数据库巡检平台
脚本采集百余项,在线智能分析总结
SQLRUN
在线数据库即时SQL运行平台
数据库实训平台
实操环境、开箱即用、一键连接
数据库管理服务
汇聚顶级数据库专家,具备多数据库运维能力
数据库百科
核心案例
行业报告
月度解读
大事记
产业图谱
我的订单
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
资讯
活动
大会
课程
文档
排行
问答
我的订单
首页
专家团队
智能助手
在线工具
SQLRUN
在线数据库即时SQL运行平台
数据库在线实训平台
实操环境、开箱即用、一键连接
AWR分析
上传AWR报告,查看分析结果
SQL格式化
快速格式化绝大多数SQL语句
SQL审核
审核编写规范,提升执行效率
PLSQL解密
解密超4000字符的PL/SQL语句
OraC函数
查询Oracle C 函数的详细描述
智能助手小墨
关于数据库相关的问题,您都可以问我
精选案例
新闻资讯
云市场
登录后可立即获得以下权益
免费培训课程
收藏优质文章
疑难问题解答
下载专业文档
签到免费抽奖
提升成长等级
立即登录
登录
注册
登录
注册
首页
专家团队
智能助手
精选案例
新闻资讯
云市场
微信扫码
复制链接
新浪微博
分享数说
采集到收藏夹
分享到数说
举报
首页
/
Flink源码解读系列 | Periodic水印和Punctuated水印实现原理
Flink源码解读系列 | Periodic水印和Punctuated水印实现原理
暴走大数据
2020-09-07
937
点击上方
蓝色字体
,选择“设为星标”
回复”
资源
“获取更多惊喜
大数据技术与架构
点击右侧关注,大数据开发领域最强公众号!
暴走大数据
点击右侧关注,暴走大数据!
在用户代码中,我们设置生成水印和事件时间的方法assignTimestampsAndWatermarks()中这里有个方法的重载
我们传入的对象分为两种
AssignerWithPunctuatedWatermarks(可以理解为每条数据都会产生水印,如果不想产生水印,返回一个null的水印)
AssignerWithPeriodicWatermarks(周期性的生成水印)
来看一下源码中是如何实现这两种水印的
二话不说打开org.apache.flink.streaming.runtime.operators.TimestampsAndPunctuatedWatermarksOperator.java
这个类的processElement方法
看到源码这里这段逻辑就 非常的清晰了
先通过用户的代码获取到事件时间,注入到element里面就直接往下个opeartor发送了
然后通过用户代码获取水印,这里会判断水印是否为null
不为null的就直接往下游emit 了
现在看一下AssignerWithPeriodicWatermarks如何周期的发送生成的水印
直接打开TimestampsAndPeriodicWatermarksOperator.java这个类
这里先不看processElement()方法,先看open方法
可以看到它将 当前时间其实就是System.currentTimeMillis()+ watermarkInterval水印间隔 注册作为了一个timer定时器
这样就知道了,当他过了这个水印间隔时间以后肯定会触发操作
来看一下这个间隔时间以后触发了什么操作
可以看到,他先是获取了当前的水印时间,然后直接emit出去了????
Periodic模式明明是在接收数据的processElement()发送水印的
然后又再次注册了一个 当前时间+间隔的 timer,这样就无限的触发下去了
既然他在这里发送了水印,来看下他的processElement方法
果然他周期性的发送水印以后,接收数据的processElement()方法里面就没有发送水印了
只有获取事件时间的逻辑了。
版权声明:
本文为《暴走大数据》整理,原作者独家授权。
未经原作者允许转载追究侵权责任。
编辑|冷眼丶
微信公众号|暴走大数据
欢迎点赞+收藏
欢迎转发至朋友圈
文章不错?
点个【
在看
】吧!
👇
数据库
文章转载自
暴走大数据
,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
领墨值
有奖问卷
意见反馈
客服小墨