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

相关推荐
道一云黑板报1 小时前
Spark云原生流处理实战与风控应用
大数据·ai·云原生·spark·kubernetes·ai编程
君不见,青丝成雪3 小时前
清分系统在电商中的一些案例
java·大数据·系统架构
电商软件开发小辛10 小时前
解析电商本地生活竞争:从我店模式创新到生态协同的进化路径
大数据
2501_9248785913 小时前
强光干扰下漏检率↓78%!陌讯动态决策算法在智慧交通违停检测的实战优化
大数据·深度学习·算法·目标检测·视觉检测
做科研的周师兄13 小时前
【机器学习入门】1.2 初识机器学习:从数据到智能的认知之旅
大数据·数据库·人工智能·python·机器学习·数据分析·机器人
IT毕设梦工厂15 小时前
大数据毕业设计选题推荐-基于大数据的丙型肝炎患者数据可视化分析系统-Hadoop-Spark-数据可视化-BigData
大数据·hadoop·spark·毕业设计·源码·bigdata
阿里云大数据AI技术15 小时前
【跨国数仓迁移最佳实践7】基于MaxCompute多租的大数据平台架构
大数据
阿里云大数据AI技术15 小时前
ODPS 十五周年实录 | Data + AI,MaxCompute 下一个15年的新增长引擎
大数据·python·sql
SelectDB15 小时前
2-5 倍性能提升,30% 成本降低,阿里云 SelectDB 存算分离架构助力波司登集团实现降本增效
大数据·数据库·数据分析