Модель выполнения триггера LinearRegression во Flink -> Медленнее, чем Spark?

Я разработал множественную линейную регрессию и Kmeans в Spark и Flink, чтобы сравнить их производительность в пакетном режиме (я использую Zeppelin для программирования и выполнения и Ganglia для измерения).

Я прочитал в ответ на этот пост, что я должен вызвать выполнение метода поезда, что я и сделал.

Однако в линейной регрессии Flink занимает 3 минуты 27 секунд (только в части триггера), а Spark - всего около 30 секунд (во всем исполнении) ... поэтому я думаю, что делаю что-то не так, потому что это невозможно.

Flinks также медленнее по сравнению с алгоритмами K-средних.

Это мой код:

//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.")

Как я должен инициировать выполнение этой модели?

Спасибо за вашу помощь! :)


person Borja    schedule 04.06.2017    source источник