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重复调用问题解决方案-腾讯云开发者社区-腾讯云

相关推荐
Volunteer Technology4 分钟前
HDFS源码(二)
大数据·hadoop·hdfs
xixixi777778 分钟前
《从心理诱导突破Claude到AI仿冒直播首张拘留单:AI安全、监管与商用的三重转折点》
大数据·网络·人工智能·安全·ai·大模型·风险
立控信息LKONE10 分钟前
门禁机、控制器等库室安防设施、实现库室智能联动,一体报警
大数据·人工智能·安全
小真zzz12 分钟前
中立第三方:搜极星的突围之路
大数据·人工智能
yzx99101315 分钟前
软件脚本定制开发:从需求到交付的技术实战指南
大数据·人工智能·数据挖掘
Yolo566Q21 分钟前
环境土壤物理模型HYDRUS1D/2D/3D实践技术应用系统性学习
大数据·开发语言·gpt·学习·arcgis·r语言
T062051434 分钟前
【数据集】上市公司企业业务招待费数据 (2012-2024年)
大数据
WL_Aurora43 分钟前
MapReduce框架原理深度解析 | Shuffle机制、切片分区、Join全攻略
大数据·hadoop·mapreduce
赵渝强老师1 小时前
【赵渝强老师】Hadoop的伪分布部署模式
大数据·hadoop·分布式
沐泽__1 小时前
Elasticsearch 磁盘水位线详解:从触发只读到安全解锁
大数据·安全·elasticsearch