Hi,

首先你需要将你的java程序打成jar包,之后热加载你的jar包, 目前pyflink里有一个util方法可以直接调用:
from pyflink.util.utils import add_jars_to_context_class_loader
add_jars_to_context_class_loader("file:///xxx <file:///xxx>") # 注意需要是url格式的路径

然后就能通过java gateway进行调用了:
from pyflink.java_gateway import get_gateway
get_gateway().jvm.your.class.name.main()

注意这个util方法是在较新的版本里才有,你可能需要升级一下pyflink版本

> 在 2021年2月5日,10:48,瞿叶奇 <389243...@qq.com> 写道:
> 
> 老师,我想用java jvm认证kerberos程序,供给pyflink使用,就是说如果是函数的话,就只是个调用的无输入函数,怎么样才能做到?
> 
> 
> 
> 
> ------------------&nbsp;原始邮件&nbsp;------------------
> 发件人:                                                                          
>                                               "user-zh"                       
>                                                              
> <hxbks...@gmail.com&gt;;
> 发送时间:&nbsp;2021年2月5日(星期五) 上午10:35
> 收件人:&nbsp;"user-zh"<user-zh@flink.apache.org&gt;;
> 
> 主题:&nbsp;Re: pyflink的py4j里是不是可以调用我自己写的java程序 ?
> 
> 
> 
> Hi,
> 
> 你是想使用java写的udfs吗,你可以调用register_java_function或者create_java_temporary_function来注册你用java写的udfs,具体可以参考文档[1]
> 
> [1]
> https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/python/table-api-users-guide/udfs/python_udfs.html#scalar-functions
> 
> Best,
> Xingbo
> 
> 
> 瞿叶奇 <389243...@qq.com&gt; 于2021年2月4日周四 下午5:53写道:
> 
> &gt; 请问如何实现pyflink的py4j调用我自己写的java程序 ?

回复