实时计算 Flink 版 SQL 实践|学习笔记

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 快速学习 实时计算 Flink 版 SQL 实践

开发者学堂课程【《实时数仓入门课程》实时计算 Flink 版 SQL 实践】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/807/detail/13887


实时计算 Flink 版 SQL 实践


内容简介:

一、Flink SQL 简介

1.关于 Flink SQL

2.基本操作

3.维表 Lookup Join

4. window Aggregation

5. Group Aggregation

 

二、Flink SQL 上手示例

1.示例场景、环境说明

2.示例1:数据清洗、维表关联

3.示例2:分钟小时、天级成交统计

4.示例小结

 

三、开发常见问题和解法

1.开发中常见的问题和解法

 

 

一、Flink SQL 简介

1.关于 Flink SQL

声明式:Flink 顶层 API 稳定易使用

流批统一:统一的开发体验语义一致性

自动优化:屏蔽流计算 State 复杂性,自动优 化 P lan AutoPilot 自动调优

应用广泛:数据集成,实时报表,实时风控

 

2. 基本操作

—— SELECT &WHERE 语法

SELECT select_list FROM tableexpressionWHERE boolean_expression

—— SELECT 操作

SELECT *FROM Orders;

——WHERE 条件

 SELECT order_id, trans anount FROM Orders WHERE trans amount 100 AND order_id IS NOT NULL;

——使用表达式、内置函数

SELECT order_id, price trans_amount, DATE_FORMAT(gmt_create'yyyy-MM-dd HH: mm: S5') FROM Orders;

——使用自定义函数

 SELECT order_id, UDF_EXCHANGE _RATE(price, 'RMB, 'HKD') FROM Orders;

3.维表Lookup Join

4. window Aggregation

图片58.png

5. Group Aggregation

图片59.png


二、Flink SQL 上手示例

1.示例场景、环境说明

接入层数据

使用 SQL DataGen Connector 生成模拟电商交易数据

CREATE TEMPORARY TABLE 's orders'(

orderid BIGINT COMMENT'订单id,自增

auction_id BIGINT COMMENT'商品id,随机1~100000

userid BIGINT COMMENT'用户id,随机1~100000

transamount INT COMMENT'交易金额单位分,随机1~1000000

cate_id AS MOD(auction_id,100)+1 COMMENT'类目id,随机1~100

gmtcreate AS CURRENT_TIMESTAMP COMMENT订单创建时间

)COMMENT 'mocked order source'

WITH(

'connector'='datagen'

2.示例1:数据清洗、维表关联

 

3.示例2:分钟小时、天级成交统计

 

4.示例小结

 

三、开发常见问题和解法

实时计算如何下手?

如何设定作业初始资源?

复杂作业如何调试?

作业如何性能调优?

 

实时计算如何下手?

1.从简单例子上手、多尝试

2.关注 ververica.cn 和 B 站 Flink 公号分享内容

3.参考 Aliyun 行业解决方案

 

复杂作业如何调试?

1.开发调试由简入繁

2.借助调试输出、分段验证

3.实时计算 Flink 的调试功能

 

作业初始资源设置、如何调优?

1.小并发试跑、性能摸底

2.运行指标,关注数据倾斜、GC、外部瓶颈

3.实时计算  Flink 的 AutoPilot 功能


相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
10天前
|
SQL 存储 分布式计算
阿里巴巴瓴羊基于 Flink 实时计算的优化和实践
本⽂整理⾃阿里云智能集团技术专家王柳焮⽼师在 Flink Forward Asia 2023 中平台建设专场的分享。
248 2
阿里巴巴瓴羊基于 Flink 实时计算的优化和实践
|
2月前
|
SQL 存储 API
阿里云实时计算Flink的产品化思考与实践【下】
本文整理自阿里云高级产品专家黄鹏程和阿里云技术专家陈婧敏在 FFA 2023 平台建设专场中的分享。
111010 134
阿里云实时计算Flink的产品化思考与实践【下】
|
11天前
|
传感器 存储 缓存
[尚硅谷flink学习笔记] 实战案例TopN 问题
这段内容是关于如何使用Apache Flink解决实时统计水位传感器数据中,在一定时间窗口内出现次数最多的水位问题,即"Top N"问题。首先,介绍了一个使用滑动窗口的简单实现,通过收集传感器数据,按照水位计数,然后排序并输出前两名。接着,提出了全窗口和优化方案,其中优化包括按键分区(按水位vc分组)、开窗操作(增量聚合计算count)和过程函数处理(聚合并排序输出Top N结果)。最后,给出了一个使用`KeyedProcessFunction`进行优化的示例代码,通过按键by窗口结束时间,确保每个窗口的所有数据到达后再进行处理,提高了效率。
|
20天前
|
SQL 运维 DataWorks
Flink CDC在阿里云DataWorks数据集成应用实践
本文整理自阿里云 DataWorks 数据集成团队的高级技术专家 王明亚(云时)老师在 Flink Forward Asia 2023 中数据集成专场的分享。
482 2
Flink CDC在阿里云DataWorks数据集成应用实践
|
28天前
|
消息中间件 SQL Java
阿里云Flink-自定义kafka format实践及踩坑记录(以protobuf为例)
阿里云Flink-自定义kafka format实践及踩坑记录(以protobuf为例)
|
2月前
|
SQL 存储 数据处理
阿里云实时计算Flink的产品化思考与实践【上】
本文整理自阿里云高级产品专家黄鹏程和阿里云技术专家陈婧敏在 FFA 2023 平台建设专场中的分享。
3378 4
阿里云实时计算Flink的产品化思考与实践【上】
|
2月前
|
SQL 资源调度 Oracle
Flink CDC产品常见问题之sql运行中查看日志任务失败如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
2月前
|
SQL 关系型数据库 MySQL
Flink 提供了一种名为 Flink SQL 的查询语言,它支持多种数据库之间的 DDL 语句转换
【2月更文挑战第18天】Flink 提供了一种名为 Flink SQL 的查询语言,它支持多种数据库之间的 DDL 语句转换
171 2
|
2月前
|
分布式计算 关系型数据库 OLAP
阿里云AnalyticDB基于Flink CDC+Hudi实现多表全增量入湖实践
阿里云AnalyticDB基于Flink CDC+Hudi实现多表全增量入湖实践
82 0
|
2月前
|
SQL 存储 Apache
在 Apache Flink SQL 中,并没有内置的 GROUP_CONCAT 函数
【2月更文挑战第16天】在 Apache Flink SQL 中,并没有内置的 GROUP_CONCAT 函数
201 2