Flink中的触发器执行模型LinearRegression - >比Spark慢?

时间:2017-06-04 12:04:20

标签: scala linear-regression apache-flink flinkml

我在Spark和Flink中开发了一个多元线性回归和Kmeans来比较它们的批处理性能(我使用Zeppelin进行编程和执行,以及Ganglia进行测量)。

我在answer of this post读到我要触发方法训练的执行,所以我做了。

Hovewer,在线性回归中,Flink需要3分27秒(仅在触发部分)同时Spark大约30秒(整个执行中)...所以我认为我做错了因为这是不可能的

Flinks比K-means算法更慢。

这是我的代码:

//Read the data
val data: DataSet[org.apache.flink.ml.common.LabeledVector] = MLUtils.readLibSVM(benv, /.../quake_test_I.libsvm")

//Example of data
6.1 1:33.0 2:53.26 3:-161.74
5.8 1:45.0 2:51.34 3:173.44
5.9 1:17.0 2:28.62 3:142.42
5.8 1:28.0 2:52.73 3:171.99

// Create multiple linear regression learner
val mlr = MultipleLinearRegression()
.setIterations(10)
.setStepsize(0.5)
.setConvergenceThreshold(0.001)

//Train the model
val model = mlr.fit(data)

//Tigger its execution
val weights = mlr.weightsOption match {
  case Some(weights) => weights.collect()
  case None => throw new Exception("Could not calculate the weights.")

我该如何触发此模型的执行?

感谢您的帮助! :)

0 个答案:

没有答案