在 Fink 源码中,有flink-stream-java和flink-stream-scala模块。为什么我们需要两个模块来进行 flink 流式传输?
https://github.com/apache/flink/tree/master/flink-streaming-java
https://github.com/apache/flink/tree/master/flink-streaming-scala
在 Fink 源码中,有flink-stream-java和flink-stream-scala模块。为什么我们需要两个模块来进行 flink 流式传输?
https://github.com/apache/flink/tree/master/flink-streaming-java
https://github.com/apache/flink/tree/master/flink-streaming-scala
两者都flink-stream-java提供flink-stream-scala类似的 API 来管理 Flink Streams ;您只需使用其中一种,具体取决于您的语言。
请注意,无论您选择什么,一些依赖项都喜欢flink-runtime并flink-clients依赖于scala(2.11 或 2.12)的版本,因为 Flink 是基于用Akkascala编写的框架。
正在努力scala从更高级别的 API 中移除依赖项flink-table( FLINK-11063 )。
这两个模块会完成相同的功能,但是不同的开发者接收到的语言不同,个人task scala更适合大数据、flink spark等语言的算子描述。
flink-stream-java是 java api for stream 的实现。flink-stream-scala是 scala api for stream 的实现。所以你可以在flink-stream-java中找到 DataStream.java ,在flink-stream-scala中找到 DataStream.scala 。