【问题标题】:why do we have flink-streaming-java and flink-streaming-scala modules in flink source code为什么我们在 flink 源代码中有 flink-streaming-java 和 flink-streaming-scala 模块
【发布时间】:2019-02-25 00:54:35
【问题描述】:

在 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-flink flink-streaming flink-sql


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-06-02
          • 1970-01-01
          • 2018-05-25
          • 1970-01-01
          • 2017-10-27
          相关资源
          最近更新 更多