Flink scala 项目依赖于 flink java 项目,所以调用 java map 而不是 scala map



我想创建一个用scala编写的flink项目。

当我导入时

'flink-scala_2.11',
'flink-streaming-scala_2.11'
'flink-core', 

我可以运行如下代码:

val someEventScalaStream = myScalaStreamm.map{x=>x.Part3} (it is using scala map function)

但我看到每个:

flink-connector-rabbitmq_2.11
flink-connector-filesystem_2.11
flink-clients_2.11

所有这些都依赖于"Flink-Java">

因此,当它们全部导入到我的解决方案中时,项目正在尝试使用 Java 版本的 map 函数并且无法编译。

有什么解决办法吗?

谢谢。

通常,Java 和 scala 的 API 被放入单独的包中。因此,请确保使用正确的方法。例如,对于您拥有DataStream

爪哇岛:

org.apache.flink.streaming.api.datastream.DataStream

斯卡拉:

org.apache.flink.streaming.api.scala.DataStream

在这种情况下,在 scala 中,建议导入:

org.apache.flink.streaming.api.scala._

如果这还不包括您的问题,您可以在使用 java 版本的map函数时发布一个具体示例吗?

相关内容

  • 没有找到相关文章

最新更新