3

在 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

4

3 回答 3

2

两者都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 )。

于 2020-01-14T07:39:35.367 回答
0

这两个模块会完成相同的功能,但是不同的开发者接收到的语言不同,个人task scala更适合大数据、flink spark等语言的算子描述。

于 2021-08-24T09:34:44.617 回答
0

flink-stream-java是 java api for stream 的实现。flink-stream-scala是 scala api for stream 的实现。所以你可以在flink-stream-java中找到 DataStream.java ,在flink-stream-scala中找到 DataStream.scala 。

于 2019-06-24T03:14:11.887 回答