将 Flink scala 翻译成 java

Translate Flink scala into java

Flink 文档给出了 SVM 算法的 scala 示例:

val trainingDS: DataSet[LabeledVector] = env.readLibSVM(pathToTrainingFile)
val svm = SVM()
.setBlocks(10)

// Learn the SVM model
svm.fit(trainingDS)

如何将对 "fit" 的调用转换为 java?

(java 表达式 "svm.fit(trainingDS)" 给出了 java 编译器错误:

"The method fit(DataSet, ParameterMap, FitOperation) in the type SVM is not applicable for the arguments (DataSet)" )

目前,FlinkML 只能与 Scala 一起使用。原因是 FlinkML 自带灵活的流水线机制,可以让你轻松构建数据分析流水线。这些管道可以由任意数量的 Estimators 和一个尾随 Predictor 组成。

该机制的实现依赖于封装程序逻辑的类型类。 类 类型通过将它们声明为隐式值来自动检索和链接。因此,Scala 编译器将确保执行正确的程序逻辑。

理论上,可以手动构建这些管道。然而,这是一个费力的过程,因此,如果你想与 FlinkML 交互,我建议你简单地使用 Flink 的 Scala API。