将Flink scala翻译成java

时间:2015-09-15 13:09:36

标签: java scala apache-flink

Flink doc给出了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编译器错误:

“类型SVM中的方法fit(DataSet,ParameterMap,FitOperation)不适用于参数(DataSet)” )

1 个答案:

答案 0 :(得分:4)

目前,FlinkML只能与Scala一起使用。原因是FlinkML带有灵活的管道机制,可以让您轻松构建数据分析管道。这些管道可以包含任意数量的Estimators和一个尾随Predictor

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

理论上,可以手动构建这些管道。但是,这是一个费力的过程,因此,如果您想与FlinkML进行交互,我建议您只使用Flink的Scala API。