将 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。
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。