Apache Flink Stateful Functions python vs java performance



在开发 Apache flink 有状态函数时使用 python 或 java 有什么优缺点?

  • 是否有任何性能差异?对于相同的操作,哪一个更有效?
  • 我们可以完全在python上开发应用程序吗?
  • 一个支持而另一个不支持的功能是什么。

StateFun支持嵌入式函数和远程函数。

  • 嵌入式函数被捆绑并部署在运行 Flink 的 JVM 进程中。因此,它们必须用JVM语言(如Java(实现,并且它们将是性能最高的。缺点是,对函数代码的任何更改都需要重新启动 Flink 集群。

  • 远程函数是在单独的进程中执行的函数,由 Flink 集群为发送给它们的每条传入消息调用。因此,它们的性能预计低于嵌入式功能,但它们在以下方面提供了极大的灵活性:

    • 选择实现语言
    • 快速扩展和缩减
    • 发生故障时快速重启。
    • 滚动升级

我们可以完全在python上开发应用程序吗?

是否可以完全在 Python 中开发应用程序,请参阅 python greeter 示例。

一个支持而另一个不支持的功能是什么。

当前功能仅在 Java SDK 中受支持:

  • 从入口到函数的更丰富的路由逻辑。可以通过代码描述的任何路由逻辑。
  • 还有几种状态类型,如表和缓冲区。
  • 将现有的 Flink 源和接收器公开为入口和出口。

相关内容

  • 没有找到相关文章

最新更新