美文网首页
spark sql和flink的滑动窗口

spark sql和flink的滑动窗口

作者: 王金松 | 来源:发表于2019-05-16 23:59 被阅读0次

spark sql的滑动窗口

  • 第一个参数为事件时间的字段列
  • 第二个参数是窗口大小
  • 第三个参数是窗口步长
  • 第四个参数为可选,用来设置时间偏移
    参考:https://www.iteblog.com/archives/1705.html
val ret = pre_data
      .withWatermark("time", "5 seconds")
      .groupBy(
        window($"time", "5 minutes", "5 minutes").alias("window"),
        $"flowKey.src_ip".alias("src_ip"),
        $"flowKey.src_port".alias("src_port"),
        $"flowKey.dest_ip".alias("dest_ip"),
        $"flowKey.proto".alias("proto"),
        $"flowKey.direction".alias("direction")
      )

flink的滑动窗口

滑动窗口有三个参数

  • 第一个是窗口大小
  • 第二个窗口是步长
  • 第三个窗口可选,是时间偏移量
    例如,没有偏移参数,按小时的窗口,有30分钟的滑动,将根据时间纪元来对齐,也就是说你将得到如下的窗口1:00:00.001:59:59.999,1:30:00.0002:29:59.999等。而如果你想改变窗口的对齐,你可以给定一个偏移,如果给定一个15分钟的偏移,你将得到如下的窗口:1:15:00.000~2:14.59.999, 1:45:00.000~2:44:59.999等。时间偏移一个很大的用处是用来调准非0时区的窗口,例如:在中国你需要指定一个8小时的时间偏移
    https://www.jianshu.com/p/a883262241ef
 processedData
      .keyBy(_.flowKey)
      .window(SlidingEventTimeWindows.of(Time.minutes(5), Time.minutes(5), Time.minutes(5)))
      .reduce((a, b) => {
        val start = if (a.start_timestamp <= b.start_timestamp)  a.start_timestamp else b.start_timestamp
        val end = if (a.end_timestamp >= b.end_timestamp) a.end_timestamp else b.end_timestamp
        FlowLog(a.flowKey, start, end, a.count + b.count)
      }).map(new RichMapFunction[FlowLog, JSONObject] {

相关文章

  • spark sql和flink的滑动窗口

    spark sql的滑动窗口 第一个参数为事件时间的字段列 第二个参数是窗口大小 第三个参数是窗口步长 第四个参数...

  • Java Spark 简单示例(六)Spark Streamin

    大数据学习交流微信群 前两天分享的Flink 学习笔记中有介绍滚动窗口和滑动窗口。Spark Streaming也...

  • Flink与storm的主要区别译文。

    Qestion: Flink被用来和Spark相比,但是我认为这样的比较不太合适,把Flink窗口事件和Spark...

  • Flink和Spark比较

    Flink被用来和Spark相比,但是我认为这样的比较不太合适,把Flink窗口事件和Spark微批处理进行比较,...

  • Flink-sql 计数窗口

    1. Flink 的计数窗口有两种 1.1 计数混动窗口 1.2 计数窗口的滑动

  • Flink实战(七) - Time & Windows编

    0 相关源码 掌握Flink中三种常用的Time处理方式,掌握Flink中滚动窗口以及滑动窗口的使用,了解Flin...

  • Flink 原理与实现:Session Window

    在上一篇文章:Window机制中,我们介绍了窗口的概念和底层实现,以及 Flink 一些内建的窗口,包括滑动窗口、...

  • flink使用14-使用SQL操作几种window

    Flink SQL 支持三种窗口类型, 分别为 Tumble Windows / HOP Windows 和 Se...

  • Window滑动窗口

    Spark Streaming提供了滑动窗口操作的支持,从而让我们可以对一个滑动窗口内的数据执行计算操作。每次掉落...

  • window滑动窗口

    Spark Streaming提供了滑动窗口操作的支持,从而让我们可以对一个滑动窗口内的数据执行计算操作。每次掉落...

网友评论

      本文标题:spark sql和flink的滑动窗口

      本文链接:https://www.haomeiwen.com/subject/srsgaqtx.html