Flink窗口起始时间计算
Flink中窗口的时间不是根据进入窗口的第一个元素计为窗口的开始时间和加Size计窗口结束时间,而是根据Flink内置计算公式timestamp - (timestamp - offset + windowSize) % windowSize
计算。
/*** Method to get the window start for a timestamp.** @param timestamp epoch millisecond to get the window start. (记录时间戳)* @param offset The offset which window start would be shifted by. (偏移时间,默认为0)* @param windowSize The size of the generated windows. windowSize. (为窗口大小)* @return window start
*/
public static long getWindowStartWithOffset(long timestamp, long offset, long windowSize) {return timestamp - (timestamp - offset + windowSize) % windowSize;
}
timestamp - (timestamp - offset + windowSize) % windowSize:
其中括号内的windowSize用于防止相减后结果负数,offset默认为0。整个公式可以演变为timestamp - (timestamp) % windowSize
,当前时间戳timestamp减去余数,剩下的恰好是窗口的整数倍。
关注公众号 数据工匠记
,专注于大数据领域离线、实时技术干货定期分享!个人网站 www.lllpan.top
Flink窗口起始时间计算相关推荐
- Flink—窗口、时间和水印
Flink-窗口.时间和水印 窗口和时间 窗口 Flink通过窗口数据划分不同,分为三种窗口: 滚动窗口:窗口数据有固定的大小,窗口数据不会叠加 滑动窗口:窗口数据有固定的大小,并且有生成间隔 会话窗 ...
- Flink滚动窗口函数的开窗起始时间计算规则
结论:窗口的开始时间,并不一定是最早的记录时间,而是一个计算出来的时间 Flink的窗口函数起始时间计算公式: timestamp - (timestamp - offset + windowSize ...
- Flink窗口、时间和水印
这篇文章主要介绍Flink的窗口.时间和水印. 在之前的文章中反复提到过窗口和时间的概念,Flink框架中支持事件时间.摄入时间和处理时间三种.当我们在流式计算环境中数据从Source产生,再到转换和 ...
- flinkSql中自定义时间窗口开启时间
flinkSql中,默认的时间窗口开始时间为0时0分. 有时我们期望的窗口开始时间早上8点到第二天8点, 或者是中午12点到第二天的中午12点, 等等. 本文以 第一天中午12点到第二天中午12点 为 ...
- JS 获取合同的起始时间与终止时间------日期增加自然月,年。
需求: 在线签订电子合同: 获取合同的起始时间与终止时间,以用户点击签约为起始时间,计算用户在页面中选择的合约生效时长(可选6个月.1年等等)并推算出终止时间: 实现难点: 可能存在大月小月以及平年闰 ...
- 【随记】Flink 时间窗口的起始时间
话不多说,直接上手今天的主题,探索一个容易让人忽略和困惑的问题:Flink 时间窗口的起始时间 就以最简单的demo为例: timeWindow(Time.seconds(5)) 上述定义一个步长为5 ...
- Flink 中的时间和窗口
时间和窗口 一.时间语义 1. Flink 中的时间语义 1.1 处理时间(Processing Time) 1.2 事件时间(Event Time) 1.3 两种时间语义的对比 二.水位线(Wate ...
- Flink窗口全解析:三种时间窗口、窗口处理函数使用及案例
我们经常需要在一个时间窗口维度上对数据进行聚合,窗口是流处理应用中经常需要解决的问题.Flink的窗口算子为我们提供了方便易用的API,我们可以将数据流切分成一个个窗口,对窗口内的数据进行处理.本文将 ...
- 最新 Flink 1.13 时间和窗口(时间语义、Watermark、Window 窗口、Trigger)快速入门、详细教程
时间和窗口 文章目录 时间和窗口 一.Flink 的三种时间语义 二.水位线(Watermark) 1. Flink 中的 Watermark 机制 2. 如何生成水位线 3. 水位线的传递 三.窗口 ...
最新文章
- python实现树有多少种方法_教程 | 从头开始:用Python实现决策树算法
- 无符号 byte java_我们能用Java做无符号字节吗?
- 如何找到某个方法的声明
- 高仿小红书引导页实现效果
- Linux 的字符串截取很有用。有八种方法。
- mysql改变授权_mysql8使用grant授权修改
- 抖音昵称html,抖音个性网名带特殊符号 带漂亮符号的抖音昵称
- UE4 Datasmith图标消失解决
- 【VCS】Git之无尽探索
- 第7章第40节:多图排版:经典的九宫格布局法 [PowerPoint精美幻灯片实战教程]
- 随机的UserAgent对付某反爬虫网站
- 基于机智云的嵌入式系统应用开发—空调远程智能控制系统
- 掌上智维隐私政策privacy
- java四则运算思路_java四则运算
- py实战项目进度甘特图绘制
- Java数据结构与算法面试题,首发Java程序员人手必备的进阶知识体系,(1)
- Linux 系统发展史小览 (与Unix区别科普文)
- DICOM图像的理解与学习
- C#Color对象的使用介绍及颜色对照表
- MATLAB simulink 仿真步长
热门文章
- 这个儿童节,我们和小时候有什么区别?
- python tkinter 桌面小程序开发从入门到界面美化(主题应用推荐)
- 自动驾驶中激光雷达如何检测障碍物
- mysql sus bench_测量性能 (Benchmarking)
- E-游戏机本当下手(北京信息科技大学第十二届程序设计竞赛暨ACM选拔赛)
- 论文中的参考文献序号自动链接到对应的参考文献
- 2011-12-21的告别信
- 【大厂智力题】64匹马,8个赛道,找出前4名最少比赛多少场?
- 【SpringBoot深入浅出系列】SpringBoot之实现支付宝扫码支付(沙箱环境编码实现)
- python判断是否有重复单词_Python判断两个单词的相似度