【实战-05】 flinksql look up join

摘要

look up join 能做什么? 不饶关子直接说答案, look up join 就是 广播。 重要是事情说三遍,广播。flinksql中的look up join 就类似于flinks flink Datastream api中的广播的概念,但是又不完全相同,对于初次访问的数据会加入缓存, 一定时间未访问到的则会从缓存中去除。而广播则是直接广播到每个exxcotor.

比如我们有一张订单表orders, 那么假设我们在进行flink计算的时候想获取该订单的相关的用户数据。 此时可以将用户数据用look up join 加载进来。
look up join 又称维表 在DataStream 中又称伟广播, 理解了这些就比较简单了。

缺点

不适合大量数据的 look up join, 因为会占用过多内存。 在业内很多人喜欢用hbase做缓存插件。也可以用 mysql 等其他外部存储系统,在任务启动的时候 外部的维表会被加载到任务内存中

语法

左表 要设置proress Time , 右表为 缓存表

sql 复制代码
create TEMPORARY table orders(
   `order_id` VARCHAR,                                                
   `order_info` VARCHAR,
   `user_id` VARCHAR,
   process_time AS PROCTIME()  # 这句语法是严格要求的
)with(
    'connector' = 'kafka',                                       
 	'topic' = 'topic-01;topic-02',                                   
 	'properties.bootstrap.servers' = 'xxx:9092,yyy:9092',
 	'properties.group.id' = 'test',
 	'scan.startup.mode' = 'timestamp',
   'scan.startup.timestamp-millis' = '1680883200000',
 	'format' = 'raw'
 );
create TEMPORARY table users(     
	`user_id` VARCHAR,                                          
	`user_name` VARCHAR
)with(
    # 其他外部系统,省略
 );
 
SELECT 
	o.order_id, 
	o.order_info,
	u.user_id,
	u.user_name
FROM orders AS o
left JOIN users FOR SYSTEM_TIME AS OF o.proc_time AS u # 这句语法是严格要求的
ON o.user_id= u.user_id
where ...# 省略where语句
;
# 注意: 一般都是用left  join 
相关推荐
木圭的AI时代指南7 小时前
Spark-X2.5 长输入 Agent 实测:全量读取陷阱与解释器寻找死循环复盘,附可复现任务
大数据·分布式·spark
dongsdh8 小时前
部署python
大数据·elasticsearch·搜索引擎
QYR-分析8 小时前
重轨受电弓行业深度报告:市场格局、技术迭代与发展前景
大数据·数据库·人工智能
镜像视界(浙江)科技有限公司9 小时前
《视频孪生之上:二维展示终结,三维空间计算重构城市逻辑》——跨摄像连续表达 × 三角测量厘米级定位 × 动态轨迹建模,构建新一代城市空间
大数据·人工智能·算法·矩阵·音视频·空间计算
大大大大晴天9 小时前
每天认识一个组件:元数据平台 DataHub
大数据
m0_547486669 小时前
《大数据分析导论》全套PPT课件2026
大数据·大数据分析
starzy199010 小时前
Flink高级之CEP深度剖析:Pattern API、NFA引擎与风控实战
大数据·flink
星禾元亨12 小时前
生成式 AI 时代的架构演进与 GEO 优化:实体企业 AI 落地避坑指南
大数据·人工智能·架构·自动化·创业创新
IT毕设实战小研12 小时前
基于大数据的国内主要农作物产量趋势分析与可视化
android·java·大数据·django·课程设计
OFIRM碳基硅基13 小时前
西游金蝉劫 IP · 之 《金蝉子前传渡缘劫》电影 20 亿票房触发 · 项目专项扶持协议 总览 拉格朗日光影动画-西游金蝉劫项目组
大数据·人工智能·西游金蝉劫·蝎子精·蝎子精女妖王·金蝉子前传渡缘劫