apache flink有状态函数python vs java性能

qlfbtfca  于 2021-06-26  发布在  Flink
关注(0)|答案(1)|浏览(656)

在开发apache flink有状态函数时,使用python或java有哪些优点和缺点。
性能有什么不同吗?对于相同的操作,哪一个更有效?
我们能完全在python上开发应用程序吗?
一个支持哪些功能,另一个不支持哪些功能。

5ssjco0h

5ssjco0h1#

statefun支持嵌入式功能和远程功能。
嵌入式函数被捆绑并部署在运行flink的jvm进程中。因此,它们必须用jvm语言(如java)实现,而且它们的性能最好。缺点是对函数代码的任何更改都需要重新启动flink集群。
远程函数是在一个单独的进程中执行的函数,flink集群会为发送给它们的每个传入消息调用这些函数。因此,预期它们的性能不如嵌入式功能,但它们在以下方面提供了极大的灵活性:
选择实现语言
快速放大和缩小
故障时快速重启。
滚动升级
我们能完全在python上开发应用程序吗?
是否可以完全用python开发应用程序,请参见pythongreeter示例。
一个支持哪些功能,另一个不支持哪些功能。
当前只有java sdk支持当前功能:
从入口到函数的更丰富的路由逻辑。您可以通过代码描述的任何路由逻辑。
几乎没有更多的状态类型,如表和缓冲区。
暴露现有的flink源和汇作为入口和出口。

相关问题