目录

报错场景

错误原因

解决方案

完整示例程序

1. 准备上游数据源

2. Flink SQL创建源表

3. 使用tumble函数


官方文档链接:TUMBLE

报错场景

最近在试用Flink的SQL Client,看到窗口函数部分,测试了下官方的案例,却报了这个错:

Flink SQL> SELECT * FROM TABLE(
>    TUMBLE(
>      DATA => TABLE Bid,
>      TIMECOL => DESCRIPTOR(bidtime),
>      SIZE => INTERVAL '10' MINUTES));
[ERROR] Could not execute SQL statement. Reason:
java.lang.UnsupportedOperationException: Currently Flink doesn't support individual window table-valued function TUMBLE(time_col=[bidtime], size=[10 min]).Please use window table-valued function with aggregate together using window_start and window_end as group keys.

错误原因

这只是Flink官方用来展示tumple函数语法的,并不是完整的示例程序,注释有写的,看文档需要仔细一点:

解决方案

既然知道错误原因了,找正确的示例程序执行不就好了

SELECT window_start, window_end, SUM(price) as sum_priceFROM TABLE(TUMBLE(TABLE Bid, DESCRIPTOR(bidtime), INTERVAL '10' MINUTES))GROUP BY window_start, window_end;

执行结果:

完整示例程序

1. 准备上游数据源

上游数据源选择mysql

创建表,并插入数据

-- 建库
create database if not exists broker;-- 建表
CREATE TABLE `bid` (`bidtime` timestamp NULL DEFAULT NULL,`price` decimal(10,2) DEFAULT NULL,`item` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci-- 插入数据
INSERT INTO broker.bid (bidtime, price, item)
VALUES ('2020-04-15 08:05:00', 4.00, 'C'), ('2020-04-15 08:07:00', 2.00, 'A'), ('2020-04-15 08:09:00', 5.00, 'D'), ('2020-04-15 08:11:00', 3.00, 'B'), ('2020-04-15 08:13:00', 1.00, 'E'), ('2020-04-15 08:17:00', 6.00, 'F');

2. Flink SQL创建源表

create table Bid (bidtime timestamp (3),price decimal (10, 2),item string,watermark for bidtime as bidtime - interval '1' second)
with ('connector' = 'jdbc','url' = 'jdbc:mysql://localhost:3306/broker','username' = 'root','password' = 'Root@123','table-name' = 'bid');

3. 使用tumble函数

SELECT window_start, window_end, SUM (price) as sum_price
FROMTABLE (TUMBLE (TABLE Bid, DESCRIPTOR (bidtime), INTERVAL '10' MINUTES))
GROUP BY window_start, window_end;

java.lang.UnsupportedOperationException: Currently Flink doesn‘t support individual window table-val相关推荐

  1. java.lang.UnsupportedOperationException

    问题:系统项目用的是maven,需要用到jaxen包,在pom中加入jaxen-1.1.1.jar之后,访问系统报下面的异常: 2016-11-10 11:02:54,695 ERROR [http- ...

  2. 【java】在分页查询结果中对最后的结果集List进行操作add()或remove()操作,报错:java.lang.UnsupportedOperationException...

    场景: 在分页查询结果中对最后的结果集List进行操作add()或remove()操作,报错:java.lang.UnsupportedOperationException 错误: java.lang ...

  3. 使用SearchView报错java.lang.UnsupportedOperationException: Failed to resolve ...

    SearchView是appcompat-v7中的一个组件,能够更快的实现一些基本的功能 但是在布局中使用android.support.v7.widget.SearchView,打开该页面会cras ...

  4. java cause_Cause: java.lang.UnsupportedOperationException

    运行web项目的时候出现以下错误: ### Cause: java.lang.UnsupportedOperationException at org.mybatis.spring.MyBatisEx ...

  5. ArrayList Iterator remove java.lang.UnsupportedOperationException

    在使用Arrays.asList()后调用add,remove这些method时出现 java.lang.UnsupportedOperationException异常.这是由于Arrays.asLi ...

  6. java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x12问题

    今天写程序,从一个Activity跳到另一个Activity,页面加载时出现了以下错误: 06-03 03:23:27.289: E/AndroidRuntime(9939): java.lang.R ...

  7. Android之提示Caused by: java.lang.UnsupportedOperationException: Binary XML file line #67: You must sup

    1 问题 : Caused by: java.lang.UnsupportedOperationException: Binary XML file line #67: You must supply ...

  8. 解决:Caused by: java.lang.UnsupportedOperationException: null

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.报错: 严重: Servlet.service() for servlet [lbd-insti ...

  9. 解决 List 执行 remove 时报异常 java.lang.UnsupportedOperationException

    前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.情况描述 报错如题: java.lang.UnsupportedOperationExcepti ...

最新文章

  1. python二手房课程设计_【Python】赶集网二手房爬虫 (可扩展)
  2. JQuery 总结(7) index() data() each() 选项卡 表单验证
  3. 企业服务器虚拟化方案文档,服务器虚拟化在企业中的应用
  4. OpenCASCADE绘制测试线束:图形命令之AIS 查看器——查看命令
  5. 11个高效的VS调试技巧
  6. PHP排雷之编码问题
  7. 惊艳!Uber 的豪华开源深度学习“全家桶”
  8. Firefox推荐安装插件
  9. Python操作Mysql实例代码教程(查询手册)
  10. 自定义iWatch App点击Glance后的跳转页
  11. 倍福plc的型号_常用PLC型号大全及简介,选型必备技能!
  12. 2017 Multi-University Training Contest 5 solutions BY 吉如一
  13. 游戏检测的对抗与防护艺术
  14. STM32F429I-DISCO ucLinux 开发环境搭建
  15. 第一次学游泳技巧_学游泳需要注意什么 第一次游泳注意事项
  16. 什么是虚拟 DOM ?
  17. origin处理多组红外数据_【图文】用Origin作多组红外数据图
  18. 红米note10和红米k40的区别 哪个好
  19. 微信小程序学习用demo:大写计算器;数字转换为大写
  20. STM32F407ZET6+NRF24L01实现一收多发(一发多收)

热门文章

  1. 图片大小自适应垂直居中的方法
  2. 迷你MVVM框架 avalonjs 入门教程(司徒正美)
  3. 徐松亮常用开发软件与网站
  4. 【课内学习】数字电路Flip-Flop
  5. jsp页面如何调用本机的应用程序?例如c:/netterm.exe?
  6. 设计模式之设计模式入门
  7. open62541 (R 1.1.2)中文文档 (译文)第一篇 (1 - 5)
  8. 优化| 手把手教你学会杉树求解器(COPT)的安装、配置与测试
  9. 神器如 dnSpy,无需源码也能修改 .NET 程序
  10. 常见的几种矩阵分解方式