当前位置: 首页 > 知识库问答 >
问题:

为什么我们在 flink 源代码中有 flink-streaming-java 和 flink-streaming-scala 模块

公西姚石
2023-03-14

在 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

共有3个答案

汪天宇
2023-03-14

这两个模块会完成相同的功能,但是不同的开发者收到的语言不同,个人任务scala更适合用大数据、flink spark等语言进行操作员描述。

司徒锐进
2023-03-14

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

罗和煦
2023-03-14

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

请注意,无论您选择什么,一些依赖项,如<code>flink运行时</code>和<code>Flunk客户端</code>都依赖于<code>scala</code>(2.11或2.12)的版本,因为flink基于用<code>scala</code>编写的框架,即Akka。

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

 类似资料:
  • 我正在创建2个flink sql表,1个用于CSV文件系统 FlinkSQL创建目标表 如何定义始终处于“运行”状态并查找新文件的流媒体作业。请建议。

  • 我遇到了一个用流处理扩展Klaviyo事件处理管道的帖子,在帖子中,Klaviyo公司的人在不同的时间段,每小时、每天甚至每月进行计数。 我有几个问题,如果我理解正确的话,他们使用的是时间窗口,但是使用时间窗口这么长时间,比如一天,正常吗?! 这对我来说没有意义,如果你每天或每月都在盘点,为什么不使用批处理呢?在这种情况下使用流媒体的基本好处是什么? 另一种情况是,如果我需要从一开始就实时计算Ka

  • 我很难理解流,以workcount为例,对于像Kafka这样的无限源,“sum”到底是做什么的? 我有点理解有时间窗的情况,因为它有开始和结束时间,对我来说就像一个“批次”,但如果没有时间窗, 什么是开始时间和结束时间

  • 我已经看了官方的医生,但我仍然弄不清他们的区别。 此外,我试图编写一个Flink流作业,它接收来自Kafka的数据。在这种情况下,我应该使用哪种环境?

  • 在过去几天研究Flink CEP库时,我一直认为它没有为Flink的标准功能添加任何新的基本功能。Flink CEP的唯一目的似乎是通过清晰的语义和直观的代码结构简化事件处理。例如,Flink CEP只提供了5种事件匹配跳过语义。虽然这些语义对于很多情况可能已经足够了,但它可能无法解决具体问题,这让我们回到了普通的Flink。 测试用例是以下模式:

  • 我在scala中有一个方法 当文件已经存在时,它会引发异常,并建议指定