0

PyFlink 性能与 Flink + Scala 相比如何?

大图。目标是使用冷热层构建 Lambda 架构。冷(批处理)层将使用 Apache Spark (PySpark) 实现。但是对于 Hot (Streaming) Tier,有不同的选择:Spark Streaming 或 Flink。

因此 Apache Flink 是纯流而不是 Spark 的微批处理,我倾向于选择 Apache Flink。但我唯一担心的是 PyFlink 的性能。它会比 PySpark 流式传输具有更少的延迟吗?是不是比 Scala 写的 Flink 代码慢?在什么情况下它会变慢?

先感谢您!

4

1 回答 1

3

我已经实现了一些非常相似的东西,根据我的经验,这些是一些事情

  1. 作业的性能完全取决于您编写的代码类型,如果您在提取时使用一些用 python 编写的自定义 UDF 来运行,那么性能将比使用基于 Scala 的代码做同样的事情要慢 - 这个发生主要是因为 python 对象到 JVM 的转换,反之亦然。但这会在您使用 Pyspark 时发生。
  2. Flink 是真正的流式处理,如果您的用例确实需要真正的流式服务,那么 Spark 中的微批处理并非如此,请继续使用 Flink。

如果您将服务坚持使用 PyFlink 中提供的本机功能,您将不会观察到任何明显的性能差异。

于 2021-11-05T15:23:25.880 回答