package com.bahadirakin.ml;
import org.apache.spark.SparkConf;
import org.apache.spark.SparkContext;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.mllib.classification.LogisticRegressionModel;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class SparkConfiguration {
@Value("${spark.ml.model.path}")
private String modelPath;
@Bean(destroyMethod = "stop")
public SparkContext sparkContext() {
final SparkConf conf = new SparkConf()
.setAppName("MLSparkService")
.setMaster("local");
return new SparkContext(conf);
}
@Bean(destroyMethod = "stop")
public JavaSparkContext javaSparkContext(SparkContext sparkContext) {
return new JavaSparkContext(sparkContext);
}
@Bean
public LogisticRegressionModel logisticRegressionModel(SparkContext sparkContext) {
return LogisticRegressionModel.load(sparkContext, modelPath);
}
}