FlinkSQL之Windowing TVF

Windowing TVF

在Flink1.13版本之后出现的替代之前的Group window的产物,官网描述其 is more powerful and effective

sql实现TVF的tumble窗口实现

package net.cyan.FlinkSql.TVF; ​ import net.cyan.POJO.WaterSensor; import org.apache.flink.api.common.eventtime.WatermarkStrategy; import org.apache.flink.streaming.api.datastream.DataStream; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.table.api.Table; import org.apache.flink.table.api.bridge.java.StreamTableEnvironment; ​ import java.time.Duration; ​ import static org.apache.flink.table.api.Expressions.$; ​ public class Demo1_Window_TableAPI_Tumble {     public static void main(String[] args) {

sql实现TVF的滑动窗口

package net.cyan.FlinkSql.TVF; ​ import net.cyan.POJO.WaterSensor; import org.apache.flink.api.common.eventtime.WatermarkStrategy; import org.apache.flink.streaming.api.datastream.DataStream; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.table.api.Table; import org.apache.flink.table.api.bridge.java.StreamTableEnvironment; ​ import java.time.Duration; ​ import static org.apache.flink.table.api.Expressions.$; ​ public class Demo2_Window_TVF_Hop {     public static void main(String[] args) {

sql实现TVF的累计窗口

累计窗口的应用:

需求:每天每隔一个小时统计一次当天的pv(浏览量)

流的方式如何解决:

1、用滚动窗口, 窗口长度设为1h

2、每天的第一个窗口清除状态,后面的不清,进行状态的累加

用滚动窗口,长度设置为2day

自定义触发器,每隔1小时对窗内的元素计算一次,不关闭窗口

sql的方式如何解决?

直接使用累计窗口cumulate

package net.cyan.FlinkSql.TVF; ​ import net.cyan.POJO.WaterSensor; import org.apache.flink.api.common.eventtime.WatermarkStrategy; import org.apache.flink.streaming.api.datastream.DataStream; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.table.api.Table; import org.apache.flink.table.api.bridge.java.StreamTableEnvironment; ​ import java.time.Duration; ​ import static org.apache.flink.table.api.Expressions.$; ​ public class Demo3_Window_TVF_cumulate {     public static void main(String[] args) {

Original: https://www.cnblogs.com/CYan521/p/16848901.html
Author: 再美不及姑娘你
Title: FlinkSQL之Windowing TVF

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/713566/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • 【项目实践】一文带你搞定页面权限、按钮权限以及数据权限

    权限这一概念可以说是随处可见:等级不够进入不了某个论坛版块、对别人发的文章我只能点赞评论但不能删除或修改、朋友圈一些我看得了一些看不了,一些能看七天内的动态一些能看到所有动态等等等…

    技术杂谈 2023年5月31日
    0117
  • maven常用命令和maven指令生命周期以及maven概念模型图

    ; ; maven常用命令 clean:把我们自己编译好的项目中的信息删除掉,清除本地编译好的信息 mvn compile:是吧src main下的方法进行编译放置在target目…

    技术杂谈 2023年6月21日
    0124
  • 技术管理进阶——如何设计并跟进不同层级同学的绩效

    原创不易,求分享、求一键三连 最近有个粉丝问了一个问题: 小钗,我是一个部门负责人,前几天看了你关于绩效考核的文章,感觉收获很大。但最近HR体系设计的绩效方案非常恶心,我已经准备撂…

    技术杂谈 2023年6月1日
    099
  • 如何构建你自己的计算机网络知识体系?

    大家好,我是小牛肉,不知道各位曾经有没有和我一样的困惑,就是有些知识好像已经看了好多遍了,但是知识点在脑子中是分散的,没办法串联起来,别人问一个问题我能答出来一点,但是你让我自己从…

    技术杂谈 2023年7月25日
    096
  • 彩食鲜架构团队风采

    2020-4-15 架构组支援福州做冷热数据拆分 4-24 听说最近测试环境不稳定,首席掏腰包请大家喝个茶吧~~ ps: 服务器资源不足,咋办? :) 4-25 诸事不顺,上天台聊…

    技术杂谈 2023年7月23日
    075
  • 聊聊运营活动的设计与实现逻辑

    产品留不住,唯有套路得用户; 一、业务背景 在多数的产品功能体系中,都会设计活动板块,活动作为运营的手段,根本目的是为了更好的连接产品和用户,所以很考验运营方案的策划,在活动的生命…

    技术杂谈 2023年7月23日
    0117
  • MySQL数据库-数据表(一)

    数据表的基本操作. MySQL 数据库支持多种数据类型,大致可以分为 3 类:数值类型、日期和时间类型、字符串(字符)类型。 (1)数值类型 数值类型用于存储数字型数据,这些类型包…

    技术杂谈 2023年6月21日
    0133
  • cocos 常用组件

    前面的话 本文将详细介绍 cocos 中的常用组件 Sprite 【概述】 Sprite(精灵)是 2D 游戏中最常见的显示图像的方式,在节点上添加 Sprite 组件,就可以在场…

    技术杂谈 2023年5月30日
    097
  • 如何为visio扩展云服务图标

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    技术杂谈 2023年7月25日
    097
  • 阿里开源COLA 4.0源码编译和部署过程

    COLA 是 Clean Object-Oriented and Layered Architecture的缩写,代表”整洁面向对象分层架构”。 目前COL…

    技术杂谈 2023年6月1日
    0139
  • 聊聊foobar是什么?

    大一时看很多老外的文档,总是看到一个叫 foobar的词,当时倒不是纠结这个词到底是什么意思,因为看到这个词使用的场景大多是代码示例段、示例变量名等一些无意义的地方,猜也能猜到这个…

    技术杂谈 2023年7月11日
    091
  • Game Engine Architecture 3

    【 Game Engine Architecture 3】 1、Computing performance—typically measured in millions of in…

    技术杂谈 2023年5月31日
    099
  • get,post,put,delete四种基础方法对应增删改查

    PUT,DELETE,POST,GET四种基础方法对应增删改查 1、 GET请求会向数据库发索取数据的请求,从而来获取信息,该请求就像数据库的 select操作一样,只是用来 查询…

    技术杂谈 2023年7月11日
    090
  • jenkin部署(docker+gitlab)

    第一部分 安装部署 1.1 gitlab安装部署 最小配置 内存至少4g,系统内核至少在3.10以上 uname -r 可查看系统内核版本 默认docker已经安装 1、安装git…

    技术杂谈 2023年7月24日
    0104
  • mybatis学习笔记(一)for 概念

    mybaits相关概念 1.1 mybatis简介 mybatis是是一款优秀的基于ORM的半自动轻量级持久层框架,它支持定制化SQL、存储过程以及高级映射。(与另一基于ORM的持…

    技术杂谈 2023年7月11日
    083
  • Jenkins Pipeline ample 样板

    pipeline{ environment{ localPath = ‘/Users/jasqia/Desktop’ } agent:any stages{ stage(&quot…

    技术杂谈 2023年5月31日
    093
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球