Flink自定义函数报这个错,怎么解决?我现在udf的版本和任务选择的引擎版本是一致的。
java.lang.IncompatibleClassChangeError: Found class org.apache.flink.table.functions.FunctionContext, but interface was expected
at com.aliyun.security.cloud.compute.binkudf.ContextUtils.getOrDefaultDipper(ContextUtils.java:14)
at com.aliyun.security.cloud.compute.binkudf.AbstractOssLoadUdf.open(AbstractOssLoadUdf.java:29)
at com.aliyun.security.cloud.compute.binkudf.EntityFormatUdf.open(EntityFormatUdf.java:23)
at StreamExecCalc$7393.open(Unknown Source)
at org.apache.flink.streaming.runtime.tasks.RegularOperatorChain.initializeStateAndOpenOperators(RegularOperatorChain.java:107)
at org.apache.flink.streaming.runtime.tasks.StreamTask.restoreGates(StreamTask.java:854)
at org.apache.flink.streaming.runtime.tasks.StreamTaskActionExecutor$1.call(StreamTaskActionExecutor.java:55)
at org.apache.flink.streaming.runtime.tasks.StreamTask.restoreInternal(StreamTask.java:801)
at org.apache.flink.streaming.runtime.tasks.StreamTask.restore(StreamTask.java:768)
at org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:954)
at org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:923)
at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:746)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:568)
at java.lang.Thread.run(Thread.java:834)
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
UDF类与Flink版本不兼容导致
检查您的UDF类是否与您使用的Flink版本兼容
检查您的UDF类是否实现了正确的接口以及是否正确地引用了Flink类
实时计算Flink版是阿里云提供的全托管Serverless Flink云服务,基于 Apache Flink 构建的企业级、高性能实时大数据处理系统。提供全托管版 Flink 集群和引擎,提高作业开发运维效率。