开发者社区> 问答> 正文

各位大佬,使用udf时遇到一个异常,请帮忙看看,使用方式如下 #Flink

各位大佬,使用udf时遇到一个异常,请帮忙看看,使用方式如下 final UserDefinedFunction function = FunctionService .createFunction(functionEntry.getDescriptor(), classLoader, false); tEnv.registerFunction(functionName, (TableFunction<?>) function); image.png 这是抛出的异常 #Flink

展开
收起
黄一刀 2020-05-15 19:46:02 1465 0
1 条回答
写回答
取消 提交回答
  • 目测注册function的代码没问题。建议给出完整的上下文,大家才方便分析。 从异常猜测是你execute时当前线程的Classloader中无法找到udf对应的class。如果你是本地测试代码,可以尝试下在execute前面添加以下代码,看能否解决问题。 ClassLoader oldClassLoader = Thread.currentThread().getContextClassLoader(); ClassLoader newClassLoader = FlinkUserCodeClassLoaders.parentFirst(dependencies, oldClassLoader); Thread.currentThread().setContextClassLoader(newClassLoader); // dependencies是udf的jar URL数组,例如 {new File("D:/myUdf.jar").toURI().toURL()}

    2020-05-15 19:46:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Flink CDC Meetup PPT - 龚中强 立即下载
Flink CDC Meetup PPT - 王赫 立即下载
Flink CDC Meetup PPT - 覃立辉 立即下载