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

网站建设与服务技能实训安阳黑道的老大是谁

网站建设与服务技能实训,安阳黑道的老大是谁,福永专业外贸网站建设公司,万江区网站建设公司在流数据处理应用中,一个很重要、也很常见的操作就是窗口计算。所谓的“窗口”,一 般就是划定的一段时间范围,也就是“时间窗”;对在这范围内的数据进行处理,就是所谓的 窗口计算。所以窗口和时间往往是分不开的。 时…

        在流数据处理应用中,一个很重要、也很常见的操作就是窗口计算。所谓的“窗口”,一 般就是划定的一段时间范围,也就是“时间窗”;对在这范围内的数据进行处理,就是所谓的 窗口计算。所以窗口和时间往往是分不开的。

时间语义 

1、处理时间(Processing Time) 

        处理时间的概念非常简单,就是指执行处理操作的机器的系统时间。 在这种时间语义下处理窗口非常简单粗暴,不需要各个节点之间进行协调同步,也不需要 考虑数据在流中的位置,简单来说就是“我的地盘听我的”。所以处理时间是最简单的时间语义。

2、事件时间(Event Time)

        事件时间,是指每个事件在对应的设备上发生的时间,也就是数据生成的时间。 数据一旦产生,这个时间自然就确定了,所以它可以作为一个属性嵌入到数据中。这其实 就是这条数据记录的“时间戳”(Timestamp)。

水位线

        在事件时间语义下,我们不依赖系统时间,而是基于数据自带的时间戳去定义了一个时钟, 用来表示当前时间的进展。于是每个并行子任务都会有一个自己的逻辑时钟,它的前进是靠数 据的时间戳来驱动的。

        我们可以把时钟也以数据的形式传递出去,告诉下游任务当前时间的进展;而且这个时钟 的传递不会因为窗口聚合之类的运算而停滞。一种简单的想法是,在数据流中加入一个时钟标 记,记录当前的事件时间;这个标记可以直接广播到下游,当下游任务收到这个标记,就可以 更新自己的时钟了。由于类似于水流中用来做标志的记号,在 Flink 中,这种用来衡量事件时 间(Event Time)进展的标记,就被称作“水位线”(Watermark)。

        具体实现上,水位线可以看作一条特殊的数据记录,它是插入到数据流中的一个标记点, 主要内容就是一个时间戳,用来指示当前的事件时间。而它插入流中的位置,就应该是在某个 数据到来之后;这样就可以从这个数据中提取时间戳,作为当前水位线的时间戳了。

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

水位线生成策略

 在Flink 的 DataStream API 中 , 有 一 个 单 独 用 于 生 成 水 位 线 的 方 法:                        assignTimestampsAndWatermarks(),它主要用来为流中的数据分配时间戳,并生成水位线来指 示事件时间。

        有序流的水位线生成策略

object f1 {def main(args: Array[String]): Unit = {val env = StreamExecutionEnvironment.getExecutionEnvironment//设置全局并行度env.setParallelism(1)//获取当前的运行配置//setAutoWatermarkInterval(时间戳)自动生成水位线的时间间隔env.getConfig.setAutoWatermarkInterval(500L)//数据val stream = env.fromElements(Event(4, "aa", 1000L),Event(5, "bb", 2000L),Event(6, "cc", 2500L),Event(7, "dd", 4000L))//设置水位线//1、有序流的水位线生成策略stream.assignTimestampsAndWatermarks(WatermarkStrategy.forMonotonousTimestamps[Event]().withTimestampAssigner(new SerializableTimestampAssigner[Event] {override def extractTimestamp(t: Event, l: Long): Long = t.time //指定字段中的time为时间戳}))//执行env.execute()}case class Event(id: Int, name: String, time: Long )
}

http://www.yayakq.cn/news/952902/

相关文章:

  • 网站app免费制作软件seo两个域名一个网站有影响
  • 关于解决网站 建设经费的请示什么是网站功能
  • 网站建设九亭实际讲解做钓鱼网站
  • 成都自适应建站哪家好哪个公司做网站推广最好
  • 杭州网站建设出 名网站建设找实体还是淘宝
  • 元器件网站建设案例网页版微信仅传输文件
  • 游学旅行网站建设策划书哪些网站做写字楼出租
  • 网站做外链好不好用于做网站的软件
  • 网站备案期间可以用二级域名访问网站吗电商企业网站建设方案
  • 闽侯县网站建设自己动手建立个人网站
  • 成都网站建设快速服务接收外国电视卫星天线
  • 网站建设与设计摘要做网站要买什么服务器
  • 网站建设实施背景分析技术开发
  • 合肥做网站cnfg容县网站开发
  • 手机网站快速排名信息网站建设情况工作会
  • 完整企业网站模板齐河网站开发
  • 网站建设工具wordpress 评论表情插件
  • 视频网站后台模板网址导航网站如何做
  • 找网站做网站做网站天空彩票网站怎么做
  • 接单做公司网站站群2022年互联网营销师如何报名
  • 个人网站空间怎么做招远网站定制
  • 湖北网站建设xiduyun一般通过血液传染的病有哪些
  • 专业教育网站建设宝塔里面一个服务器做多个网站
  • 关于协会网站建设的意见专门做行业分析的网站
  • 外贸建站哪个最便宜射阳做网站多少钱
  • 邯郸兄弟建站合肥企业建站程序
  • php能开发大型网站做移动网站优化快
  • 微网站 小程序 区别网站开发与网站制作
  • 新闻标题做的好的网站无锡网络公司排名
  • 软件属于网站开发吗做网站框架