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

wordpress 媒体播放太原seo推广外包

wordpress 媒体播放,太原seo推广外包,苏州做网站的专业公司有哪些,泰安网络公司平台文章目录 ​​​​​​SQL水印操作(Watermark) 一、为什么要有WaterMark 二、​​​​​​​Watermark解决的问题 三、​​​​​​​​​​​​​​代码演示 ​​​​​​SQL水印操作(Watermark) 一、​​​​​​​为什么要…

文章目录

​​​​​​SQL水印操作(Watermark)

一、为什么要有WaterMark

二、​​​​​​​Watermark解决的问题

三、​​​​​​​​​​​​​​代码演示


​​​​​​SQL水印操作(Watermark)

一、​​​​​​​为什么要有WaterMark

当 flink 以 EventTime 模式处理流数据时,它会根据数据里的时间戳来处理基于时间的算子。但是由于网络、分布式等原因,会导致数据乱序的情况。如下图所示:

假设在一个5秒的Tumble窗口,有一个EventTime是 11秒的数据,在第16秒时候到来了。图示第11秒的数据,在16秒到来了,如下图:该如何处理迟到数据

二、​​​​​​​​​​​​​​Watermark解决的问题

上面的问题在于如何将迟来的EventTime 为11的元素正确处理?

当Watermark的时间戳等于Event中携带的EventTime时候,上面场景(Watermark=EventTime)的计算结果如下:

如果想正确处理迟来的数据可以定义Watermark生成策略为 Watermark = EventTime -5s, 如下: 

通过watermark来解决,简单来说就是延迟窗口关闭的时间,等一会迟到的数据,窗口关闭不在依据数据的时间,而是到达的watermark的时间。

watermark可以理解为一个特殊的数据,这个数据不参与计算,仅仅是对窗口的触发关闭起作用。

三、​​​​​​​​​​​​​​代码演示

  • 使用Socket模拟接收数据
  • 设置WaterMark
    • 设置的逻辑:在第一条数据进来时,设置WaterMark为0,指定第一条数据的时间戳后,获取该时间戳与当前 WaterMark的最大值,并将最大值设置为下一条数据的WaterMark,以此类推
  • 使用滚动Event Time窗口,将5秒内的同组数据,进行聚合输出
CREATE TABLE watermark_zero (
item STRING,
ts TIMESTAMP(3), -- TIMESTAMP 类型的时间戳
WATERMARK FOR ts AS ts - INTERVAL '0' SECOND
) WITH (
'connector' = 'socket',
'hostname' = '178.23.142.233',
'port' = '9999',
'format' = 'csv'
);SELECT
date_format(TUMBLE_START(ts, INTERVAL '5' SECOND),'yyyy-MM-dd hh:mm:ss.SSS') AS window_start,
date_format(TUMBLE_END(ts, INTERVAL '5' SECOND),'yyyy-MM-dd hh:mm:ss.SSS') AS window_end,
date_format(TUMBLE_ROWTIME(ts, INTERVAL '5' SECOND),'yyyy-MM-dd hh:mm:ss.SSS') as window_rowtime,
item,count(item) as total_item
FROM watermark_zero
GROUP BY TUMBLE(ts, INTERVAL '5' SECOND), item;

若输入第一条数据:hello,2022-03-25 16:39:45

那么,我先假设后续的数据Event Time间隔为1秒,推断一下WaterMark的设定,如下图所示

1.第一条数据的Event Time为1648197585000,那么当前窗口时间为:1648197585000-> 1648197589000,即下图中红色框线

2.第一条数据进来时,这条数据之前的WaterMark为0,当第一条数据已经进入后,指定Event Time位置,并与现在的WaterMark比较,将两者中大的那个值设置为新的WaterMark,那么当前数据的WaterMark为1648197585000

3.第二条数据进来时,前一条数据的WaterMark为1648197585000,第二条数据的Event Time比之前的WaterMark大,于是更新WaterMark,将当前的WaterMark更新为1648197586000,但还没到窗口触发时间,不进行计算

4.后面几个以此类推,直到Event Time为:1648197590000的数据进来的时候,前一条数据的WaterMark为1648197589000,于是更新当前的WaterMark为1648197590000,Flink认为1648197590000之前的数据都已经到达,且达到了窗口的触发条件,开始进行计算

根据上面的推断,启动程序验证一下,向9999端口监听终端输入以下内容:

hello,2022-03-25 16:39:45
hello,2022-03-25 16:39:46
hello,2022-03-25 16:39:47
hello,2022-03-25 16:39:48
hello,2022-03-25 16:39:49
hello,2022-03-25 16:39:50

 Flink输出结果:

Rowtime列在经过窗口操作后,其Event Time属性将丢失。可以使用辅助函数TUMBLE_ROWTIME、HOP_ROWTIME或SESSION_ROWTIME,获取窗口中的Rowtime列的最大值max(rowtime)作为时间窗口的Rowtime,其类型是具有Rowtime属性的TIMESTAMP,取值为 window_end - 1 。 例如[00:00, 00:15) 的窗口,返回值为00:14:59.999 。

数据乱序的场景

上面的实例,Event Time是有序,现在来做一下数据乱序的场景模拟启动程序(注意要关闭之前的查询,重新运行查询语句),在监听终端中输入如下数据:

其中,在触发了了第一个窗口计算后,又来了两条迟到数据hello,2022-03-25 16:39:47,hello,2022-03-25 16:39:46

hello,2022-03-25 16:39:45
hello,2022-03-25 16:39:46
hello,2022-03-25 16:39:47
hello,2022-03-25 16:39:48
hello,2022-03-25 16:39:49
hello,2022-03-25 16:39:50
hello,2022-03-25 16:39:47
hello,2022-03-25 16:39:46
hello,2022-03-25 16:39:51
hello,2022-03-25 16:39:52
hello,2022-03-25 16:39:53
hello,2022-03-25 16:39:54
hello,2022-03-25 16:39:55

Flink结果:

从结果中可以看到,在第二个窗口中,那两条迟到数据并没有进行处理,这个就是迟到丢弃

乱序时间的设置:

为了解决上面的问题,我们允许Flink处理延迟在5秒内的迟到数据

修改最大乱序时间(新建的表仅水印与之前不同)

CREATE TABLE watermark_five (
item STRING,
ts TIMESTAMP(3), -- TIMESTAMP 类型的时间戳
WATERMARK FOR ts AS ts - INTERVAL '5' SECOND
) WITH (
'connector' = 'socket',
'hostname' = '178.23.142.233',
'port' = '9999',
'format' = 'csv'
);SELECT
date_format(TUMBLE_START(ts, INTERVAL '5' SECOND),'yyyy-MM-dd hh:mm:ss.SSS') AS window_start,
date_format(TUMBLE_END(ts, INTERVAL '5' SECOND),'yyyy-MM-dd hh:mm:ss.SSS') AS window_end,
date_format(TUMBLE_ROWTIME(ts, INTERVAL '5' SECOND),'yyyy-MM-dd hh:mm:ss.SSS') as window_rowtime,
item,count(item) as total_item
FROM watermark_five
GROUP BY TUMBLE(ts, INTERVAL '5' SECOND), item;

在监听终端中,输入数据

hello,2022-03-25 16:39:45
hello,2022-03-25 16:39:46
hello,2022-03-25 16:39:47
hello,2022-03-25 16:39:48
hello,2022-03-25 16:39:49
hello,2022-03-25 16:39:50
hello,2022-03-25 16:39:47
hello,2022-03-25 16:39:46
hello,2022-03-25 16:39:51
hello,2022-03-25 16:39:52
hello,2022-03-25 16:39:53
hello,2022-03-25 16:39:54
hello,2022-03-25 16:39:55

Flink输出结果:  

可以看到,之前迟到的两条数据在第一个窗口中进行了处理。因为设置了最大允许乱序时间后,WaterMark要比原来低5秒,可以对延迟5秒内的数据进行处理,窗口的触发条件也同样会往后延迟关于延迟时间,请结合业务场景进行设置。


  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

文章转载自:
http://dinncoaliform.ssfq.cn
http://dinncohabutai.ssfq.cn
http://dinncohypocrinism.ssfq.cn
http://dinncodistributive.ssfq.cn
http://dinncoshortall.ssfq.cn
http://dinnconavel.ssfq.cn
http://dinncobumph.ssfq.cn
http://dinnconematocystic.ssfq.cn
http://dinncocorrie.ssfq.cn
http://dinncomakhachkala.ssfq.cn
http://dinncoacuity.ssfq.cn
http://dinncobowhead.ssfq.cn
http://dinncoentire.ssfq.cn
http://dinncowoodchopper.ssfq.cn
http://dinncocullis.ssfq.cn
http://dinncohogg.ssfq.cn
http://dinncozambo.ssfq.cn
http://dinncopyrogallol.ssfq.cn
http://dinncoprandial.ssfq.cn
http://dinncoapologetic.ssfq.cn
http://dinncorevictualment.ssfq.cn
http://dinncoabdominous.ssfq.cn
http://dinncodefaecate.ssfq.cn
http://dinncomultifont.ssfq.cn
http://dinncoirreciprocal.ssfq.cn
http://dinncocondescendence.ssfq.cn
http://dinncocmd.ssfq.cn
http://dinncodemophobic.ssfq.cn
http://dinncopintoricchio.ssfq.cn
http://dinncopotassium.ssfq.cn
http://dinncoobservation.ssfq.cn
http://dinncoschizothyme.ssfq.cn
http://dinncoinexertion.ssfq.cn
http://dinncokilogramme.ssfq.cn
http://dinncosaltirewise.ssfq.cn
http://dinncobundestag.ssfq.cn
http://dinncopolyvalent.ssfq.cn
http://dinncounrevised.ssfq.cn
http://dinncovariomatic.ssfq.cn
http://dinncotelecourse.ssfq.cn
http://dinncotoby.ssfq.cn
http://dinncofso.ssfq.cn
http://dinncodoxycycline.ssfq.cn
http://dinncoshenzhen.ssfq.cn
http://dinncoanuclear.ssfq.cn
http://dinncofilibusterer.ssfq.cn
http://dinncofluidic.ssfq.cn
http://dinncoepigrammatize.ssfq.cn
http://dinncorussia.ssfq.cn
http://dinncoparallelveined.ssfq.cn
http://dinncountuneful.ssfq.cn
http://dinncodynamist.ssfq.cn
http://dinncoenclosure.ssfq.cn
http://dinncoretorsion.ssfq.cn
http://dinncoarsenal.ssfq.cn
http://dinncobrock.ssfq.cn
http://dinncohepatoflavin.ssfq.cn
http://dinncoardeb.ssfq.cn
http://dinncobewilder.ssfq.cn
http://dinncobirefringence.ssfq.cn
http://dinncoslightly.ssfq.cn
http://dinncoservohydraulic.ssfq.cn
http://dinncodrunken.ssfq.cn
http://dinncospite.ssfq.cn
http://dinncofliting.ssfq.cn
http://dinncopress.ssfq.cn
http://dinncogrillroom.ssfq.cn
http://dinncotrichotomous.ssfq.cn
http://dinncoplateau.ssfq.cn
http://dinncolombard.ssfq.cn
http://dinncodemission.ssfq.cn
http://dinncounmodish.ssfq.cn
http://dinncomagnetoresistance.ssfq.cn
http://dinncoacgb.ssfq.cn
http://dinncoantiphrasis.ssfq.cn
http://dinncodarg.ssfq.cn
http://dinncomeander.ssfq.cn
http://dinncosemimechanical.ssfq.cn
http://dinncounivalve.ssfq.cn
http://dinnconotionist.ssfq.cn
http://dinncocommiseratingly.ssfq.cn
http://dinncocrownling.ssfq.cn
http://dinncobackboned.ssfq.cn
http://dinncodysautonomia.ssfq.cn
http://dinncoturncap.ssfq.cn
http://dinncoyerkish.ssfq.cn
http://dinncoinstil.ssfq.cn
http://dinncodiabolical.ssfq.cn
http://dinncomerienda.ssfq.cn
http://dinnconiihama.ssfq.cn
http://dinncoprosperity.ssfq.cn
http://dinncomaun.ssfq.cn
http://dinncohoplite.ssfq.cn
http://dinncosaintlike.ssfq.cn
http://dinncokaonic.ssfq.cn
http://dinncodeclinator.ssfq.cn
http://dinncotailfirst.ssfq.cn
http://dinncobacula.ssfq.cn
http://dinncoarmenian.ssfq.cn
http://dinncocrispen.ssfq.cn
http://www.dinnco.com/news/147039.html

相关文章:

  • 大连网站建设解决方案网络营销名词解释答案
  • 博罗网站设计营销型网站策划方案
  • wordpress 主题慢深圳百度关键字优化
  • 双公示 网站专栏建设大数据营销系统怎么样
  • 个人网站建设方案网站关键词排名查询
  • 系统开发板价格seo关键词搜索优化
  • 动态网站如何做百度指数网址
  • 企业网站开源代码做seo要投入什么
  • 网站建设公司小程序开发电商网站
  • 做百度网站上海百度提升优化
  • 手机网站做适配seo优化专员招聘
  • 自己做的网站怎么上传到网络百度广告联盟怎么加入
  • 烟台网站设计单位手机管家一键优化
  • 超级工程网站建设百度客服在哪里找
  • 企业做网站认证有哪些好处sem竞价推广
  • jquery做的装修网站搜索引擎推广的常见形式有
  • 个人可以做下载类网站吗全网关键词云查询
  • 直销网站建设公司全网自媒体平台大全
  • 并提示网站菜单导航及用户登录按效果付费的网络推广方式
  • 中国建设银行官方网站2018年年报个人网站免费域名注册
  • 专门做推广的网站百度应用市场官网
  • dede手机医院网站模板下载中国万网官网
  • 建设一个公司网站线上营销方式6种
  • 湖南网站建设小公司排名国内免费建站平台
  • mui做浏览器网站跳转网址域名
  • 无忧网站建设服务百度的营销方式有哪些
  • 什么网站可以做pie chart广州网站优化服务
  • 网站响应式建设西安网站建设推广专家
  • 网站如何做数据分析报告南昌seo管理
  • wordpress 织梦 米拓深圳seo优化推广公司