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)” )
答案 0 :(得分:4)
目前,FlinkML只能与Scala一起使用。原因是FlinkML带有灵活的管道机制,可以让您轻松构建数据分析管道。这些管道可以包含任意数量的Estimators
和一个尾随Predictor
。
此机制的实现依赖于封装程序逻辑的类型类。通过将类型类声明为隐式值,可以自动检索和链接类型类。因此,Scala编译器将确保执行正确的程序逻辑。
理论上,可以手动构建这些管道。但是,这是一个费力的过程,因此,如果您想与FlinkML进行交互,我建议您只使用Flink的Scala API。