Flink 功能 Python 化的技术架构是什么?
其实如果我们解决了 Python VM 和 Java VM 通讯的问题,本质上是在努力达成我们第一个目标,就是将现有 Flink 功能输出给 Python 用户,也就是我们 Flink 1.9 所完成的工作,接下来我们看看 Flink 1.9 PyFlink API 的架构,如下:
我们利用Py4J解决通讯问题,在 PythonVM 启动一个 Gateway,并且 Java VM 启动一个 Gateway Server 用于接受 Python 的请求,同时在 Python API 里面提供和 Java API 一样的对象,比如 TableENV, Table,等等。这样 Python 在写 Python API 的时候本质是在调用 Java API。当然,在 Flink 1.9 中还解决了作业部署问题,我们可以用 Python 命令,Python shell 和 CLI 等多种方式进行作业提交。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。