Flink UDF注意幂等性,防止重复调用时出问题

编写Flink UDF 要注意幂等性,尤其不能直接修改入参!理论上是一条数据只会执行一次UDF,但是实际执行过程中可能会对一条数据执行多次UDF,引起意想不到的问题。

例如有如下SQL:

CREATE VIEW tmp_view AS

SELECT a.id AS id

, my_udf_1(

myudf_2(a.v) AS v

FROM table_a a

LEFT OUTER JOIN table_b FOR SYSTEM_TIME AS OF a.proctime b

ON a.id = b.key

;

INSERT INTO table_c

SELECT id

, v

FROM tmp_view

;

正常my_udf_2确实只会执行一次,但如果sql变一下,最后INSERT那里加入一个where条件,UDF就会下推到Where条件中再执行一次:

这个时候如果UDF不能保证幂等性,计算结果就会出错。例如入参是个List,第一次执行UDF时改了传入的List中的数据,第二次UDF执行时会在第一次执行的基础上再次改变传入的List中的数据,结果就不正确了!

参考:

Flink SQL UDF重复调用问题解决方案-腾讯云开发者社区-腾讯云

相关推荐
数字化脑洞实验室15 分钟前
智能决策系统落地后如何进行数据集成与安全保障?
大数据
微学AI3 小时前
面向大数据与物联网的下一代时序数据库选型指南:Apache IoTDB 解析与应用
大数据·物联网·时序数据库
人大博士的交易之路4 小时前
今日行情明日机会——20251113
大数据·数据挖掘·数据分析·缠论·道琼斯结构·涨停板
B站计算机毕业设计之家4 小时前
基于Python+Django+双协同过滤豆瓣电影推荐系统 协同过滤推荐算法 爬虫 大数据毕业设计(源码+文档)✅
大数据·爬虫·python·机器学习·数据分析·django·推荐算法
WLJT1231231235 小时前
方寸之间藏智慧:家用电器的进化与生活革新
大数据·人工智能
陈辛chenxin5 小时前
【大数据技术04】数据可视化
大数据·python·信息可视化
wangqiaowq5 小时前
在streampark运行paimon-flink-action-1.20.0.jar
大数据·flink·jar
Hello.Reader5 小时前
用 Kafka 打通实时数据总线Flink CDC Pipeline 的 Kafka Sink 实战
flink·kafka·linq
wangqiaowq5 小时前
基于FLINK + PAIMON + StarRocks 分层构建流式湖仓
大数据