不得不说Spark是一款优秀的计算引擎,继承Spark-ML、Spark-Graphx机器学习和图计算框架,Spark-ML一般用于离线分析和挖掘,生成模型。
如果我们把模型保存在HDFS,需要在实时计算里面使用提前训练好的模型,
解决方案如下:
1、通过转换序列化方式,把模型转换成可以被其他语言调用的方式,如:java、python
2、在spark-streaming中使用
具体读取kafak的配置信息和保证EOS的不在这里体现,主要体现如何使用Spark-ML训练好的模型,具体代码如下:
val spark = SparkSession.builder().
appName("StreamingMLModel").
getOrCreate()
import spark.implicits._
val ssc = new StreamingContext(spark.sparkContext, Seconds(2))
val bootstrapServer = ""
val groupId = "E30E62E2-8B73-BBB0-AA8C-1A53E400646F-1"
val kafkaParams = Map(
ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG -