【发布时间】:2018-02-16 10:33:12
【问题描述】:
我有一个项目需要实时传输数据。我已将流内数据写入 kafka 主题。现在我需要读取这些数据并进行处理。为此,我打算使用 Flink。
我的困境是我既不了解 Java、Scala 也不了解 Kotlin。我必须学习其中的一个才能使用 Flink,由于 Kotlin 是最新的,我想我应该学习它,但它实际上与 Flink 兼容吗?
我对任何类型的数据流都是全新的,所以请原谅我的问题中的任何错误,如果我错了,一定要纠正我。
【问题讨论】:
-
如果 Flink 是用 Java(或 Scala 或 Kotlin)编写的,您可以使用这三种语言中的任何一种,因为它们在 JVM 上运行(使用 Java 字节码)。
-
Flink 是用 Java 和 Scala 编写的,但不是 Kotlin。我了解他们都使用相同的JVM进行编译。
-
如果某个东西正在使用 JVM,则意味着所有 JVM 语言都与之兼容(即,如果代码是用 JVM 语言编写的,您可以使用任何语言)
-
目前唯一的问题是由于 Kotlin 编译器问题,lambda 不能与 Kotlin 一起使用。错误跟踪器:issues.apache.org/jira/browse/FLINK-23979
标签: scala kotlin apache-flink flink-streaming bigdata