flink 1.11定义watermark 水位线 水印 新方法 替代过时assignTimestampsAndWatermarks方法

【Flink】Flink 中的时间语义和水位线 水位线是一种特殊的事件,由程序员通过编程插入的数据流里面,然后跟随数据流向下游流动。 阅读详情

mapStream
.assignTimestampsAndWatermarks(WatermarkStrategy.forBoundedOutOfOrderness(Duration.ofSeconds(3))
.withTimestampAssigner(new SerializableTimestampAssigner[(Long, student)] {
override def extractTimestamp(element: (Long, student), recordTimestamp: Long): Long = element._1
}
)

补充 2020年9月10日21:53:23 ,喜欢的话点个赞喔,大家的点赞就是我最大的动力!

import java.time.Duration
    import org.apache.flink.api.common.eventtime.{SerializableTimestampAssigner, WatermarkStrategy}
    val newDS= stream
      .assignTimestampsAndWatermarks(WatermarkStrategy.forBoundedOutOfOrderness(Duration.ofSeconds(3))
        .withTimestampAssigner(new SerializableTimestampAssigner[(Long,  String,String)] {
          override def extractTimestamp(element: (Long,  String,String), recordTimestamp: Long): Long = element._1
        }
        ))

在这里插入图片描述

flink生成Watermark之assignTimestampsAndWatermarks 在DataStreamSource对象上调用assignTimestampsAndWatermarks方法,自定义Timestamp提取规则和Watermark生成规则。 文章目录基于AssignerWithPeriodicWatermarks接口 基于AssignerWithPeriodicWatermarks接口 AssignerWithPeriodicWatermarks接口扩展自TimestampAssigner类,其中extractTimestamp方法定义抽取Timestamp,getCurre 阅读详情

相关推荐

大数据开发 | Flink的Watermark(水印机制)

所以为了提高效率,一般会每隔一段时间生成一个水位线,这个水位线的时间戳,就是当前最新数据的时间戳,如图下图所示。比如,如果我们知道当前业务中事件的迟到时间不会超过5秒,那就可以将水位线的时间戳设为当前已有数据的最大时间戳减去5秒,相当于设置了5秒的延迟等待。比如map->reduce这样的操作,如果在map中编写了非常耗时间的代码,将会阻塞水位线的向下传播,因为水位线也是数据流中的一个事件,位于水位线前面的数据如果没有处理完毕,那么水位线不可能弯道超车绕过前面的数据向下游传播,也就是说会被前面的数据阻塞。

zjjcchina的博客 1420

Flink 源码学习|watermark 时间戳指定器

在每次接收到消息时,获取系统时间以更新实例属性中存储的系统时间最大值,并将当前存储的系统时间最大值作为时间戳返回。之所以这样实现,是为了保证即使系统时间被修改(例如配置了多节点时间同步)时,输出的时间戳仍然是单调递增的。这个时间戳分配器适用于已指定有效时间戳的场景,例如从 Kafka 中提取的数据。中提取的时间,将被包括窗口函数在内的所有使用了事件时间的算子使用。存储当前获取到的系统时间的最大值;中,是从事件数据中提取事件时间的工具,中有 3 个类或接口继承了。方法,并直接使用参数。

长行 866

Flink消费Kafka实战:从环境搭建到生产级配置的完整指南

流处理技术通过持续处理无界数据流,为实时分析、监控和决策提供了基础能力。其核心原理在于将连续到达的数据视为流,并应用窗口、聚合等算子进行实时计算。这项技术的价值在于能够实现低延迟的数据处理与洞察,是构建实时数据管道和事件驱动架构的关键。在物联网传感器数据分析、实时推荐引擎和网站点击流监控等场景中,流处理发挥着重要作用。Apache Flink作为有状态、高一致性的流计算引擎,与高吞吐的分布式消息队列Apache Kafka结合,构成了处理实时数据的强大组合。本文聚焦于Flink消费Kafka这一核心实践,详

weixin_34367257的博客 393

Flink1.12 使用WatermarkStrategy生成时间戳

Flink1.12版本后建议使用assignTimestampsAndWatermarks(WatermarkStrategy)的方式生成watermark,之前使用的assignTimestampsAndWatermarks(AssignerWithPunctuatedWatermarks)以及assignTimestampsAndWatermarks(timestampAndWatermarkAssigner)均不再被推荐使用,这里是根据官网给出的小例子,仅供参考: package demo; i

RonieWhite的博客 5680

Flink 流处理核心算子深度剖析

本文对比了Flink中MapFunction与ProcessFunction的核心功能与适用场景,并通过代码示例展示了它们的典型用法。MapFunction适用于简单的一对一数据转换,而ProcessFunction支持状态管理、定时器、侧输出流等高级功能,能够处理复杂业务逻辑。文章还详细介绍了侧输出流的应用场景和窗口函数的实战案例,包括事件时间处理、水位线机制等关键技术要点。通过订单监控、日志解析等实际案例,演示了如何利用这些算子实现数据过滤、格式转换、状态管理等常见需求。

tian_jiangnan的博客 312

Simplorer-Maxwell联合仿真速度太慢?我用这3个技巧把仿真时间砍半(附SVPWM周期与步长设置避坑)

本文详细介绍了Simplorer-Maxwell联合仿真性能优化的3个关键技巧,包括仿真步长与周期的科学配置、基于任务调度的加速技术以及模型简化与精度平衡。特别针对SVPWM参数设置提供了避坑指南,帮助工程师在不牺牲精度的情况下将仿真时间缩短50%以上,适用于电机驱动系统开发等场景。

weixin_29189381的博客 466

flink学习(9)——time+water mark

watermark的使用

weixin_52642840的博客 1113

几何非线性-屈曲分析

结构系统的破坏分为两种,一类是因材料软化而引起的强度破坏,另一类是几何软化使得结构的几何形状发生极大变化,从而使结构丧失承载能力。在材料力学中是这样定义压杆失稳的:中心受压直杆(理想模型)在直线状态下平衡,由稳定平衡转化为不稳定平衡时所受的轴向压力的界限值,称为临界压力。中心受压直杆在临界压力的作用下,其直线形态的平衡开始丧失稳定性,简称为失稳。显然,这个定义只使用于理想的压杆模型,那么关于失稳和屈曲是否存在一般性定义呢?

YORU_NO_KUNI的博客 1万+

Flink 系例 之 Watermarks

示例环境 示例数据源 (项目码云下载)Flink 系例 之 搭建开发环境与数据TimestampsAndWatermarks.java 打印结果 参考:Watermark 水印介绍:https://blog.csdn.net/hlp4207/article/details/90698296 官方文档:https://ci.apache.org/projects/flink/flink-docs-release-1.11/dev/event_timestamps_watermarks.html

不会飞的小龙人的博客 279

【VMware篇】7-通过ISO镜像升级VMware Esxi

本文主要介绍Dell服务器上安装的ESXi升级的方法之一(采用ISO升级)。

chen_yunan的博客 5511

别再折腾框架了!用华为应用市场官方渠道搞定GBOX,安全安装谷歌全家桶(鸿蒙HarmonyOS 3/4实测)

本文详细介绍了如何在鸿蒙系统上通过华为应用市场官方渠道安全安装GBOX,实现谷歌全家桶的无损使用。该方法避免了传统破解方式的安全风险,利用沙箱技术隔离运行环境,确保系统稳定性和数据安全。特别适合鸿蒙HarmonyOS 3/4用户安全使用谷歌生态应用。

weixin_29305313的博客 4751

21.flink 水位线,彻底站起来

flink从1.12版本开始水位线分配做了不小的改动,以前的老代码需要改变,今天通过阅读源码,正好做个整理。首先现在的版本默认情况下使用event time。

笔生花的博客 2626

保姆级教程:用Code Blocks搞定中科蓝讯AB5768E蓝牙音响SDK开发环境(附资源包)

本文提供了一份详细的Code Blocks配置指南,帮助开发者快速搭建中科蓝讯AB5768E蓝牙音响SDK开发环境。从工具链安装、环境配置到工程导入和调试技巧,涵盖全流程避坑要点,特别适合K12开发板初学者。附资源包下载,助您高效完成蓝牙音响开发。

weixin_28692817的博客 447

Flink Watermark 源码分析

对 Flink Watermark 的粗浅之见

小王是个弟弟 945

OCC WebGL案例编译实战:从FreeType配置到静态库生成

本文详细记录了将OCC(Open CASCADE Technology)3D图形库编译为WebAssembly(Wasm)并在浏览器中通过WebGL渲染的实战过程。重点解决了FreeType库的交叉编译配置、OCC核心库的裁剪与静态库生成,以及WebGL样例项目的CMake改造等关键步骤,为开发者提供了从环境搭建到最终集成的完整指南。

weixin_28831461的博客 314

DeiT详解:知识蒸馏的Transformer

DeiT模型(8600万参数)仅用一台 GPU 服务器在 53 hours train,20 hours finetune,仅使用 ImageNet 就达到了 84.2 top-1 准确性,而无需使用任何外部数据进行训练,性能与最先进的卷积神经网络(CNN)可以抗衡。其核心是提出了针对 ViT 的教师-学生蒸馏训练策略,并提出了方法,使得在视觉领域训练得又快又好。

走在深度学习前沿的小宋 2636

从源码看 flink-1.11.1 中的时间水位和时间戳

SystemProcessingTimeService getCurrentProcessingTime() 方法返回 System.currentTimeMillis() ScheduledFuture<?> registerTimer(long timestamp, ProcessingTimeCallback callback)注册一个要在不早于时间 timestamp 的情况下执行的任务。这里输入的 timestamp指的是任务启动的时间如果设定的时间早于...

qq_36329933的博客 1040

zabbix系列:内存VM.MEMORY.SIZE监控之total、free、pused、available 参数说明

free -m buffer是即将要被写入磁盘的,而cache是被从磁盘中读出来的. zabbix Web total:1046/1024=1.02G Available:216/1046=20.65% zabbix参数 total- 总物理内存. free- 可用内存. active- 内存当前使用或最近使用,所以它在RAM中。 inactive- 未使用内存. wired- 被标记为始终驻留在RAM中的内...

NIO4444 5665

大数据(9e)Flink时间语义WaterMark

Window Function 窗口函数 水位线 WaterMark 乱序流 forMonotonousTimestamps forBoundedOutOfOrderness

ArYe 1658

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Flink之Watermark

punctuated:每条数据后都会插入当前事件时间解析出来的watermarkperiodic:周期性生成,默认是200m生成一个watermark在新版本中punctuated已经被标记为过时(当前版本1.18.1)watermark的构造:1.forMontonousTimestamps:时间戳单调递增策略2.forBoundedOutOfOrderness:为乱序数据创建水位线策略3.forGenerator:自定义策略。

m0_43437171的博客 1502

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Flink 中的时间和窗口(时间语义、水位线)

在事件时间语义下,我们不依赖系统时间,而是基于数据自带的时间戳去定义了一个时钟, 用来表示当前时间的进展。于是每个并行子任务都会有一个自己的逻辑时钟,它的前进是靠数 据的时间戳来驱动的。但在分布式系统中,这种驱动方式又会有一些问题。因为数据本身在处理转换的过程中会 变化,如果遇到窗口聚合这样的操作,其实是要攒一批数据才会输出一个结果,那么下游的数 据就会变少,时间进度的控制就不够精细了。另外,数据向下游任务传递时,一般只能传输给 一个子任务(除广播外),这样其他的并行子任务的时钟就无法推进了。

m0_63475429的博客 2601

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Flink assignAscendingTimestamps 重载方法

先简单介绍一下Timestamp 和Watermark 的概念: 1. Timestamp和Watermark都是基于事件的时间字段生成的 2. Timestamp和Watermark是两个不同的东西,并且一旦生成都跟事件数据没有关系了(所有即使事件中不再包含生成Timestamp和Watermark的字段也没关系) 3. 事件数据和 Timestamp 一一对应(事件在流中传递以StreamRecord对象表示,value 和 timestamp 是它的两个成员变量) 4. Watermark 在.

yang灬仔 1935

Flink中的时间和窗口(三)

对于不同的窗口类型,触发计算的条件也会不同。例如,一个滚动事件时间窗口,应该在 水位线到达窗口结束时间的时候触发计算,属于“定点发车”;而一个计数窗口,会在窗口中 元素数量达到定义大小时触发计算,属于“人满就发车”。所以 Flink 预定义的窗口类型都有 对应内置的触发器。对于事件时间窗口而言,除去到达结束时间的“定点发车”,还有另一种情形。当我们设 置了允许延迟,那么如果水位线超过了窗口结束时间、但还没有到达设定的最大延迟时间,这 期间内到达的迟到数据也会触发窗口计算。

JiaXingNashishua的博客 1316

Flink自定义Assigning Timestamps和Watermarks

为了让event time工作,Flink需要知道事件的时间戳,这意味着流中的每个元素都需要分配其事件时间戳。这个通常是通过抽取或者访问事件中某些字段的时间戳来获取的。时间戳的分配伴随着水印的生成,告诉系统事件时间中的进度。下面介绍几种自定义事件时间戳方法 1.在数据流源中定义 可以看Flink静态Session Windows这边文章里面有 2.使用DataStream API中的assignA...

weixin_42412645的博客 7820

Flink Watermark详细介绍及实验结果分析

Watermark Watermark 是一种衡量 Event Time 进展的机制。 Watermark 是用于处理乱序事件的,而正确的处理乱序事件,通常用Watermark 机制结合 window 来实现。 数据流中的 Watermark 用于表示 timestamp 小于 Watermark 的数据,都已经到达了,因此,window 的执行也是由 Watermark 触发的。 Watermark 可以理解成一个延迟触发机制,我们可以设置 Watermark 的延时时长 t,每次系统会校验已经到达的数据

qq_43118086的博客 951

flink重温笔记(九),2024年最新谈谈大数据开发-Binder机制及AIDL使用

升序watermark:单调递增生成水印乱序watermark:固定延迟生成水印都是基于周期性生成,默认的周期是200ms,一般不去改,保持在 ms 级别。

2401_84164503的博客 1118
上一篇: <font color=blue size=5 >字体idea Static methods in interface require -target:jvm-1.8</font>
下一篇: flink 发生SerializationFailedException错误
BigData-0
博客等级 码龄7年 341粉丝 309原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BigData-0

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值