java.lang.UnsupportedOperationException: Currently Flink doesn‘t support individual window table-val
目录
报错场景
错误原因
解决方案
完整示例程序
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相关推荐
- java.lang.UnsupportedOperationException
问题:系统项目用的是maven,需要用到jaxen包,在pom中加入jaxen-1.1.1.jar之后,访问系统报下面的异常: 2016-11-10 11:02:54,695 ERROR [http- ...
- 【java】在分页查询结果中对最后的结果集List进行操作add()或remove()操作,报错:java.lang.UnsupportedOperationException...
场景: 在分页查询结果中对最后的结果集List进行操作add()或remove()操作,报错:java.lang.UnsupportedOperationException 错误: java.lang ...
- 使用SearchView报错java.lang.UnsupportedOperationException: Failed to resolve ...
SearchView是appcompat-v7中的一个组件,能够更快的实现一些基本的功能 但是在布局中使用android.support.v7.widget.SearchView,打开该页面会cras ...
- java cause_Cause: java.lang.UnsupportedOperationException
运行web项目的时候出现以下错误: ### Cause: java.lang.UnsupportedOperationException at org.mybatis.spring.MyBatisEx ...
- ArrayList Iterator remove java.lang.UnsupportedOperationException
在使用Arrays.asList()后调用add,remove这些method时出现 java.lang.UnsupportedOperationException异常.这是由于Arrays.asLi ...
- java.lang.UnsupportedOperationException: Can't convert to dimension: type=0x12问题
今天写程序,从一个Activity跳到另一个Activity,页面加载时出现了以下错误: 06-03 03:23:27.289: E/AndroidRuntime(9939): java.lang.R ...
- 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 ...
- 解决:Caused by: java.lang.UnsupportedOperationException: null
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1.报错: 严重: Servlet.service() for servlet [lbd-insti ...
- 解决 List 执行 remove 时报异常 java.lang.UnsupportedOperationException
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 一.情况描述 报错如题: java.lang.UnsupportedOperationExcepti ...
最新文章
- python二手房课程设计_【Python】赶集网二手房爬虫 (可扩展)
- JQuery 总结(7) index() data() each() 选项卡 表单验证
- 企业服务器虚拟化方案文档,服务器虚拟化在企业中的应用
- OpenCASCADE绘制测试线束:图形命令之AIS 查看器——查看命令
- 11个高效的VS调试技巧
- PHP排雷之编码问题
- 惊艳!Uber 的豪华开源深度学习“全家桶”
- Firefox推荐安装插件
- Python操作Mysql实例代码教程(查询手册)
- 自定义iWatch App点击Glance后的跳转页
- 倍福plc的型号_常用PLC型号大全及简介,选型必备技能!
- 2017 Multi-University Training Contest 5 solutions BY 吉如一
- 游戏检测的对抗与防护艺术
- STM32F429I-DISCO ucLinux 开发环境搭建
- 第一次学游泳技巧_学游泳需要注意什么 第一次游泳注意事项
- 什么是虚拟 DOM ?
- origin处理多组红外数据_【图文】用Origin作多组红外数据图
- 红米note10和红米k40的区别 哪个好
- 微信小程序学习用demo:大写计算器;数字转换为大写
- STM32F407ZET6+NRF24L01实现一收多发(一发多收)