首页 > 解决方案 > 为什么我们在 flink 源代码中有 flink-streaming-java 和 flink-streaming-scala 模块

问题描述

在 Fink 源码中,有flink-stream-javaflink-stream-scala模块。为什么我们需要两个模块来进行 flink 流式传输?

https://github.com/apache/flink/tree/master/flink-streaming-java

https://github.com/apache/flink/tree/master/flink-streaming-scala

标签: apache-flinkflink-streamingflink-sql

解决方案


两者都flink-stream-java提供flink-stream-scala类似的 API 来管理 Flink Streams ;您只需使用其中一种,具体取决于您的语言。

请注意,无论您选择什么,一些依赖项都喜欢flink-runtimeflink-clients依赖于scala(2.11 或 2.12)的版本,因为 Flink 是基于用Akkascala编写的框架。

正在努力scala从更高级别的 API 中移除依赖项flink-table( FLINK-11063 )。


推荐阅读